首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >yfinance json.decoder.JSONDecodeError

yfinance json.decoder.JSONDecodeError
EN

Stack Overflow用户
提问于 2021-07-10 21:12:37
回答 3查看 1.7K关注 0票数 8

在今天之前,它一直在工作。我不知道为什么它今天不能工作。

代码语言:javascript
运行
复制
import yfinance as yf
df = yf.Ticker('MMM').history(start='2021-01-01',end='2021-07-10')
代码语言:javascript
运行
复制
File "D:\anaconda3\envs\tensorflow\lib\site-packages\yfinance\base.py", line 157, in history
data = data.json()
File "D:\anaconda3\envs\tensorflow\lib\site-packages\requests\models.py", line 900, in json
return complexjson.loads(self.text, **kwargs)
File "D:\anaconda3\envs\tensorflow\lib\json\__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "D:\anaconda3\envs\tensorflow\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "D:\anaconda3\envs\tensorflow\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-07-11 23:40:47

我升级到最新版本,问题就解决了。最新版本安装代码:pip install yfinance==0.1.62

票数 6
EN

Stack Overflow用户

发布于 2021-07-31 11:41:14

如果任何人仍然面临jsonDecoder错误的问题。尝试从pycharm文件夹的venv中删除yfin。不知何故,我的系统在pycharm的venv中没有升级yfin。我不得不手动删除yfin文件夹并升级yfin。它现在为我工作。谢谢https://stackoverflow.com/a/68601710/16442394

票数 0
EN

Stack Overflow用户

发布于 2021-11-09 05:10:04

下面的补丁修复了我的问题:在/usr/local/lib/python3.8/dist-packages/yfinance/base.py中进行以下更改:

代码语言:javascript
运行
复制
        # Getting data from json
        num_tries = 4
        url = "{}/v8/finance/chart/{}".format(self._base_url, self.ticker)
        while num_tries > 0:
            data = self.session.get(
                url=url,
                params=params,
                proxies=proxy,
                headers=utils.user_agent_headers
            )
            if "Will be right back" in data.text:
                raise RuntimeError("*** YAHOO! FINANCE IS CURRENTLY DOWN! ***\n"
                               "Our engineers are working quickly to resolve "
                               "the issue. Thank you for your patience.")
            if data.status_code == 404:
                _time.sleep(0.5)
                num_tries -= 1
                continue
            else:
                data = data.json()
                break
        if num_tries == 0:
            print("%s failed to get information"%self.ticker)
            data = {}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68328050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档