我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。
关闭4年前。
到目前为止,我使用这个 URL 从谷歌金融获取股票报价,并使用 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 日更新 谷歌实时盘中回填也已停止工作。下面的 URL 将重定向到符号的谷歌搜索页面。
https://finance.google.com/finance/getprices?p=1d&f=d,o,h,l,c,v&q=NIFTY&x=NSE&i=60
最佳答案
正如彼得所说,Google Finance API 将于 2012 年 10 月关闭。Google 让服务器正常运行,而没有支持或监控它们。如 Jeff Nelson here 所述,当发现重大错误或安全漏洞时,他们将关闭服务器.
您可以使用 Yahoo Finance 获取多个股票代码的价格,如下所示:http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT&f=snbaopl1
谷歌代码: 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(interval) = 600 秒 = 10 分钟。
第一列(日期)的一个棘手位具有完整和部分时间戳。(请检查图像中的注释)
第一行的时间戳=1504669800。图像中数据集中的第二行的间隔为1。您可以将此数字乘以我们的间隔大小(本例中为600 s)并将其添加到最后一个Unix时间戳。这为您提供了当前行的日期。 (所以我们的第二排是在第一排之后 10 分钟。很简单。)
1504669800 + (1 * 600) = 1504670400 -> timestamp for second row
1504670400 + (2 * 600) = 1504671600 -> timestamp for Third row ... and so on.
最后一行(在底部)具有最高的日期和最新的刻度。
在任何编程语言中都可以很容易地将 unix 时间戳转换为格式化的日期,php 示例:
<?php
$timestamp=1504669800;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
Online Convertor Here
希望对您有所帮助。
https://stackoverflow.com/questions/46070126/