雅虎财经有数据请求上限吗?有替代方案或解决方法吗?

hea*_*cer 2 c# yahoo yahoo-finance

你好,我已经扫描了这个网站和谷歌,以获取有关从雅虎财经下载股票信息的最新更新。我没有取得太大的成功。当我测试我的应用程序时,我使用以下 C# 代码片段遇到了 404 服务器未找到异常:

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);
            }
Run Code Online (Sandbox Code Playgroud)

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

Kod*_*ody 7

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

YQL 速率限制:

YQL 速率限制

这意味着什么:

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

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

至于替代方案,更是数不胜数。我只使用过 Yahoo 和Google API。雅虎是我的首选,但我还没有找到可比的免费替代品。试试你的运气,如果找到了请告诉我!