2

嗨,我已经扫描了这个网站和谷歌,以获取有关从雅虎财经下载股票信息的任何最新更新。我没有取得太大的成功。在测试我的应用程序时,我遇到了一个 404 server not found 异常,使用以下 C# 代码片段:

string urlTemplate =
                 @"http://ichart.finance.yahoo.com/table.csv?s=[symbol]&a=" +
                   "[startMonth]&b=[startDay]&c=[startYear]&d=[endMonth]&e=" +
                      "[endDay]&f=[endYear]&g=d&ignore=.csv";
...
 WebClient wc = new WebClient();
            try
            {
                history = wc.DownloadString(urlTemplate);
            }

你知道雅虎最近(或总是)是否有一些关于你可以从雅虎的财务服务器请求多少的更新?如果是这样,有人知道上限或阈值吗?是随着时间的推移还是每日请求的最大数量?我想提出一个长达 2 分钟的随机睡眠请求来解决这个问题。我认为这不会有帮助。是否有任何替代方案可以让我不断向雅虎财经提出请求?我认为雅虎有某种订阅服务可以用于这个确切的目的。我找不到任何关于它的信息。如果这对雅虎来说都不是一个问题,那么有人对负担得起的替代服务或数据馈送服务有什么建议吗?

4

2 回答 2

5

请参阅Yahoo 查询语言使用信息和限制页面。这适用于所有 YQL API,而不仅仅是 Finance API。

YQL 速率限制:

YQL 速率限制

这意味着什么:

  • 使用公共 API(无需身份验证),每个 IP 每小时最多只能处理 2,000 个请求(或每天最多 48,000 个请求)。
  • 使用私有 API(使用API 密钥进行 OAuth 身份验证),每个 IP 每小时限制为 20,000 个请求,每个 API 密钥每天限制为 100,000 个请求。

至于实现,如果你想使用 Yahoo Finance API,那么你必须遵守他们的要求。构建一个只发出允许的请求数量的系统,以防止错误。您可以使用数据库执行此操作(如果有多个脚本/应用程序客户端使用它)并使用线程/作业(作业 = 轮询)等待它可以发出更多请求。获取API 密钥以扩展您的限制。获取多个 API 密钥以进一步扩展它。

至于替代方案,实在太多了。我只使用了 Yahoo 和Google API。雅虎是我的首选,但我还没有找到与之相当的免费替代品。试试你的运气,如果你找到了,请告诉我!

于 2015-10-02T18:08:05.413 回答
3

他们从来没有说过限制是什么。我曾经每天更新 6000 只股票,它确实有效。在其他一些页面上,限制似乎要高得多,但在历史股票价格上,它们确实在某个时候被阻止。

顺便说一句,有时雅虎服务器会返回未记录的 HTTP 999 代码,我将其解释为“请求过多”。

如果你想要的只是一天结束的数据,那么也许你可以试试这个: http ://www.eoddata.com/products/default.aspx (我自己从未尝试过)

当然,更频繁的数据需要付费订阅。

于 2011-05-04T19:53:01.653 回答