yfinance的Ticker.info仅返回regularMarketPrice和logo_url,无法获取AAPL的country与sector
解决yfinance获取AAPL股票信息返回字段不全的问题
遇到yfinance返回的info仅包含regularMarketPrice和logo_url,无法获取country、sector这类核心信息,升级版本仍无效的情况,试试以下两种解决方案:
方案一:用get_info()强制拉取完整数据
yfinance的info属性可能读取本地缓存的精简数据,而get_info()会强制发起新请求获取完整信息:
import yfinance as yf apple = yf.Ticker("AAPL") full_info = apple.get_info() # 获取目标字段 print(full_info.get('country')) print(full_info.get('sector'))
方案二:添加浏览器请求头绕过限制
Yahoo Finance会拦截部分非浏览器标识的请求,导致返回精简数据。给Ticker对象添加模拟浏览器的请求头即可:
import yfinance as yf # 模拟主流浏览器的请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36' } apple = yf.Ticker("AAPL", headers=headers) full_info = apple.info print(full_info['country']) print(full_info['sector'])
额外提示
如果以上方法仍无效,可手动清除yfinance的本地缓存:缓存默认存放在系统临时目录,找到以yfinance开头的文件夹删除后重新运行代码即可。
内容的提问来源于stack exchange,提问作者Rivaldy
相关产品推荐
相关产品推荐

