【问题标题】:Problem Python: Yahoo finance timeout error问题 Python:雅虎财务超时错误
【发布时间】:2016-06-11 06:01:05
【问题描述】:

我已经组装了一个使用此 yahoo_finance api 的 web-scraper。当我运行程序获取过去 10 年的每日数据时,出现以下错误:

YQLQueryError:查询失败并出现错误:“'结果可能被截断,因为运行超过了允许的最大响应超时 30000 毫秒。'”

此错误有时出现在 api 的 Share.get_historical 方法中。

谁能提供一些关于为什么会发生这种情况以及我可以探索的任何可能的补救措施的见解?

【问题讨论】:

  • 可能是因为您的 API 调用一次性要求的数据过多。尝试将其分解为更小的请求(每次可能需要 1 年的数据)。

标签: python web-scraping timeout session-timeout yahoo-finance


【解决方案1】:

为什么会这样?

因为“运行”超过了 30 秒,这是 Yahoo 设置的限制。这大概是因为您正在请求大量历史数据。我不认为这是请求超时,因为我能够获得价值 16 年的历史数据,这些数据需要 2 分钟以上才能完成。可能是雅虎内部的东西。

可能的补救措施?

尝试使用较小的日期范围进行多个查询,例如6 个月,并在您的 Python 应用程序中整理结果。

【讨论】:

  • 你知道为什么它只是偶尔发生吗?我在 get_historical() 调用之前和之后都有时间戳,显示成功拉取时间超过 30 秒。
  • @RayFoo:同一个查询总是失败吗?我不知道。我想这可能是雅虎服务器中的负载问题。也许有时由于其他用户太忙而无法获取所有数据,并且他们的系统中某处存在内部超时。但这只是一个猜测。您需要在应用程序中处理它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-27
  • 1970-01-01
  • 2017-03-01
  • 1970-01-01
相关资源
最近更新 更多