到目前为止,我使用此网址从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
答案 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分钟。
第一列(日期)的一个棘手的位有完整和部分时间戳。(请查看图片中的注释)
第一行的时间戳为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);
?>
希望得到这个帮助。
答案 1 :(得分:8)
今天(2017年9月6日)似乎是Google财经API。 您可以使用alphavantage作为替代免费API,并为美国股票提供JSON输出
答案 2 :(得分:3)
答案 3 :(得分:1)
Google财经API将于2012年10月20日关闭。但从那时起它一直在运作,直到现在。 Google财经是一项已停产的服务,不提供任何支持。