使用yfinance库遇多类错误:API故障还是代码需更新?
问题分析与解决方案
这种情况几乎肯定是Yahoo Finance的公开API接口结构发生了变更——yfinance本质是对Yahoo非官方公开接口的封装,Yahoo经常会调整接口返回格式,导致库的解析逻辑失效,和你本地代码本身无关。
具体到你的报错:
self._scrape(self.proxy)报错说明库在抓取数据的环节就出现了异常TypeError: string indices must be integers是因为原本应该返回JSON字典的接口,现在返回了纯字符串,代码试图用键名(字符串)去索引字符串,自然触发类型错误
解决步骤:
- 优先升级yfinance到最新版本:
pip install --upgrade yfinance,官方维护者通常会在Yahoo接口变更后快速发布修复版本 - 如果升级后问题依旧,说明官方还没来得及修复,此时可以:
- 打印
json_data的具体内容,查看Yahoo返回的新格式,自行临时修改解析逻辑(适合有Python基础的用户) - 尝试使用社区维护的yfinance分支版本,这类分支可能更快适配接口变更
- 打印
内容的提问来源于stack exchange,提问作者Noah Barrall
相关产品推荐
相关产品推荐

