You need to enable JavaScript to run this app. Python的yfinance库调用Ticker.history报错JSONDecodeError问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Python的yfinance库调用Ticker.history报错JSONDecodeError问题求助

yfinance调用history()方法触发JSONDecodeError的解决方案

JSONDecodeError: Expecting value: line 1 column 1 (char 0)报错的核心原因是yfinance向雅虎财经接口请求数据时,拿到的响应为空或者返回了非JSON格式的内容(如拦截页面、错误提示页HTML),无法完成JSON解析。

解决方法

  • 升级yfinance到最新版本
    老版本yfinance未适配雅虎财经最新接口规则,是该报错最高发的原因,执行以下命令升级:
pip install --upgrade yfinance
  • 配置网络代理
    雅虎财经接口在部分地区无法正常访问,请求被拦截后会返回空响应,可在初始化Ticker对象时指定代理参数,示例如下:
import yfinance as yf

# 替换为实际可用的代理地址
tickerData = yf.Ticker("BTC-USD", proxy="http://127.0.0.1:7890")
tickerDf = tickerData.history()
  • 增加异常捕获逻辑
    避免单次请求失败直接中断程序,可增加重试或异常捕获处理:
import yfinance as yf
import json

try:
    tickerData = yf.Ticker("BTC-USD")
    tickerDf = tickerData.history()
except json.JSONDecodeError:
    print("数据请求失败,请检查yfinance版本或网络连接后重试")

内容的提问来源于stack exchange,提问作者aditya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 09:15:03