yahoo_fin.stock_info.get_data函数报JSONDecodeError求助
问题分析与解答
代码本身无问题
你提供的代码逻辑清晰、参数配置合理,且之前稳定运行数月,说明代码本身不存在错误。
报错核心原因:Yahoo Finance接口变更 + 第三方库未适配
JSONDecodeError: Expecting value: line 1 column 1 本质是yahoo_fin库向Yahoo Finance请求数据时,返回的响应不是预期的JSON格式(可能是HTML验证页、空内容或结构完全变更的响应)。
Yahoo Finance并未公开支持第三方爬虫类库,其内部API经常会调整请求规则、数据结构或增加验证机制,而yahoo_fin作为社区维护的第三方库,无法实时同步Yahoo的接口变更,一旦接口变动,就会出现解析失败的情况。
问题持续超过24小时的原因
yahoo_fin的维护依赖社区贡献者,从发现接口变更、排查问题到修复代码并发布新版本,需要一定时间。如果维护者还未完成适配修复,这个问题就会持续存在。
临时解决办法
- 尝试升级
yahoo_fin到最新版本,看是否已经修复:pip install --upgrade yahoo-fin - 如果升级无效,替换为更活跃的第三方库(如
yfinance),示例代码:import yfinance as yf mscript = 'MSFT' st_date = "2025-01-01" ed_date = "2025-01-31" df = yf.download(mscript, start=st_date, end=ed_date, interval='1d')
内容的提问来源于stack exchange,提问作者Mandarb Gune
相关产品推荐
相关产品推荐

