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

调用YahooEarningsCalendar方法时出现IndexError错误如何解决?

错误原因

你所用的yahoo_earnings_calendar第三方库早已停止维护,雅虎财经的财报日历页面结构经过多次更新后,原有爬虫逻辑依赖的root.App.main开头的全局JS变量已经从页面返回内容中移除,代码筛选对应内容后得到空列表,调用[0]取第一个元素时就触发了索引越界错误。

解决方法

方案一:更换为维护中的适配库(推荐)

改用目前仍在持续更新适配雅虎接口的yfinance库获取财报日历数据,示例代码如下:

import yfinance as yf
import pandas as pd
from datetime import datetime

# 设置查询日期
report_date = datetime.now().date()
# 获取当日财报数据
earnings_data = yf.Earnings(frequency="daily")
earnings_df = earnings_data.get_earnings(start=report_date, end=report_date)
# 输出前5行结果
earnings_df.head()

安装依赖执行命令:
pip install yfinance

方案二:修改原有库源码(不推荐)

如果必须使用原yahoo_earnings_calendar库,可以找到本地安装路径下的scraper.py文件,修改_get_data_dict方法中匹配JS变量的逻辑,适配当前雅虎页面的新数据存储规则,缺点是后续雅虎页面再调整仍会报错,维护成本极高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 23:42:03