You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter中Ticker.info报错但Google Colab正常的问题求助

解决思路与方案

1. 修正请求头(User-Agent)

Yahoo Finance的接口可能会根据请求的UA做访问限制,本地Jupyter环境的UA可能被判定为非合法客户端,而Colab的UA能正常通过。可以手动替换yfinance会话的请求头:

import yfinance as yf

# 更新会话请求头,使用常见浏览器UA
session = yf.utils.get_session()
session.headers.update({
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
})

# 重新初始化Ticker
ticker = yf.Ticker("AAPL")
print(ticker.info)

2. 排查本地网络/代理配置

部分网络环境(如公司内网、特定地区网络)可能仅拦截quoteSummary接口请求,不影响价格数据的download接口。可以尝试:

  • 切换到手机热点或其他网络环境测试
  • 检查本地代理设置,确保未拦截query2.finance.yahoo.com域名
  • 临时关闭防火墙或安全软件,排除拦截可能

3. 清除yfinance缓存

yfinance会缓存请求数据,旧缓存可能导致接口异常。可以:

  • 删除本地缓存目录(通常为~/.cache/yfinance)
  • 初始化Ticker时直接禁用缓存:
ticker = yf.Ticker("AAPL", cache_dir=None)

4. 修复URL编码问题

报错URL中出现了&(HTML转义字符),可能是本地环境URL编码逻辑异常导致请求路径错误。可以手动构造请求验证:

import requests

url = "https://query2.finance.yahoo.com/v6/finance/quoteSummary/AAPL?modules=financialData&modules=quoteType&modules=defaultKeyStatistics&modules=assetProfile&modules=summaryDetail&ssl=true"
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"}
response = requests.get(url, headers=headers)
print(response.json())

如果手动请求能返回数据,说明是yfinance内部URL拼接逻辑在本地环境出现转义错误,可以尝试升级到yfinance最新版本,或临时修改源码中的URL拼接部分,避免HTML转义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:33:18