【发布时间】:2016-02-12 22:08:04
【问题描述】:
我正在从 Google Finance 和 Yahoo Finance 获取市场数据,但遇到了一个问题。
谷歌财经
雅虎财经
我认为雅虎财经不值得信赖。如果我直接在雅虎财经网站上查看股票,我会得到正确的价格,但是一旦我使用上面的链接,我会得到另一个价格。我比较了 Google 和 Yahoo Finance 的 JSON 数据。谷歌财经更准确,但我想使用雅虎财经,因为他们有更多的股票要获取。我在标记收盘前 30 分钟通过雅虎财经“API”查看了谷歌股票 (GOOG)。它显示的价格不正确,大约 2 美元。该网站显示正确的价格,但没有显示“API”。但我的 Google 财经脚本和网站都显示了正确的价格。有谁知道如何解决?如果有人以前使用过雅虎财经“API”?
现在我使用file_get_contents() 和正则表达式从两个站点获取<span>。这种方法工作得很好而且很快,但我想迁移到使用 cURL,因为它更快。我已经建立了一个获取数据的网站,它只需要大约 1 秒。
这是我当前代码的一部分:
$data = file_get_contents('http://www.google.com/finance?q=NASDAQ:GOOG');
$stock = '/\<span id\=\"ref_4420283_l\"\>(.*?)\<\/span\>/';
$price = htmlspecialchars(strip_tags($stock [0]));
如果我坚持上面的代码,谷歌或雅虎是否有可能阻止连接?因为此代码正在加载整个网站,而不仅仅是 JSON 数据。我只需要正确的价格。
总结
我目前正在使用file_get_contents(),但如果我需要坚持使用此方法,则需要迁移到 cURL。根据上面的链接,我打算使用来自 Yahoo Finance 的 JSON 数据,但 JSON 数据似乎并不准确。来自 Google 财经的 JSON 数据非常准确,但 Google 并没有像雅虎财经那样拥有所有股票。
有人对雅虎财经有同样的问题吗?如果我选择坚持使用file_get_contents() 或 cURL,他们 Google 或 Yahoo 是否有可能阻止我的连接。这是因为网站数据对于 Google 和 Yahoo Finance 都是准确的,但来自 Yahoo 的 JSON 数据不准确。
感谢我能得到的所有帮助。
【问题讨论】:
-
有许多 API 可用于获取此类财务数据;大多数好的都是商业的。推荐一个超出了本网站的范围;你需要自己做研究。
-
我找到了谷歌“API”和雅虎“API”,但雅虎似乎并不准确。我还问了一个问题,如果使用 file_get_contents() 来获取数据而不是使用 JSON,我是否会被阻止。抱歉,文字很长,只是觉得我需要具体才能得到具体的回复。
标签: php json api yahoo google-finance