谷歌财经json股票报价停止工作

时间:2017-09-06 08:18:11

标签: json

到目前为止,我使用此网址从Google财经获取股票报价,并使用PHP解析json数据:

http://finance.google.com/finance/info?client=ig&q=nse:infy,nasdaq:aapl

今天它停止了工作 但是,我仍然可以访问这个:

http://finance.google.com/finance/?client=ig&q=nse:infy

问题是这个只返回单个股票的报价,而不是像过去那样的多个股票...

任何人都知道如何使用此URL获取多个股票的股票报价? 当我尝试这样的时候:

http://finance.google.com/finance/?client=ig&q=nse:infy,nse:ashokley

它仍然会返回一些json,声明这两只股票都是活跃的。但它不会包含引号等...... 非常感谢任何帮助。

或者,如果无法从此处获取,请指向另一个我可以获得类似股票OHLCV数据的地方。

2018年8月4日更新 谷歌实时日内回填也已停止运作。以下网址将重定向到Google搜索页面以显示该符号。

https://finance.google.com/finance/getprices?p=1d&f=d,o,h,l,c,v&q=NIFTY&x=NSE&i=60

4 个答案:

答案 0 :(得分:27)

正如彼得·赛义德所说,Google财经API将于2012年10月关闭。谷歌在没有支持或监控服务器的情况下使服务器正常运行。当Jeff Nelson here提到发现重大错误或安全漏洞时,他们将关闭服务器。

您可以使用Yahoo finance获取多个股票代码的价格,如下所示:http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT&f=snbaopl1

Google Ticker: https://finance.google.com/finance?q=NASDAQ:AAPL&output=json

或者您可以使用Google Realtime Intraday Backfill Data

这是关于上述google api的概述,因为它是一个小小的棘手问题。 我将使用您在评论中写的网址: https://www.google.com/finance/getprices?q=.NSEI&x=NSE&i=600&p=1d&f=d,o,h,l,c,v

这里参数i(间隔)= 600秒= 10分钟。

enter image description here

第一列(日期)的一个棘手的位有完整和部分时间戳。(请查看图片中的注释)

第一行的时间戳为1504669800.图像数据集中的第二行的间隔为1.您可以将此数字乘以我们的间隔大小(在此示例中为600秒)并将其添加到最后一个Unix时间戳。这为您提供了当前行的日期。 (所以我们的第二排是第一排后10分钟。很容易。)

1504669800 + (1 * 600) = 1504670400 -> timestamp for second row
1504670400 + (2 * 600) = 1504671600 -> timestamp for Third row ... and so on.

最后一行(在底部)具有最高日期和最新刻度。

很容易将unix时间戳转换为任何编程语言的格式化日期,例如:

<?php
$timestamp=1504669800;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>

Online Convertor Here

希望得到这个帮助。

答案 1 :(得分:8)

今天(2017年9月6日)似乎是Google财经API。 您可以使用alphavantage作为替代免费API,并为美国股票提供JSON输出

答案 2 :(得分:3)

以下作品

https://finance.google.com/finance?q=TICKER&output=json

并返回一个包含大量信息的json供您解析。

答案 3 :(得分:1)

Google财经API将于2012年10月20日关闭。但从那时起它一直在运作,直到现在。 Google财经是一项已停产的服务,不提供任何支持。