2012-07-17 87 views
6

我想开发一个小应用程序,以自动从Google Finance获取股票价格,并将其存储在本地计算机中供将来分析。如何使用Google财经?

任何人都可以给我一些线索如何开始?

我知道一些C#。它适合于这个目的吗?

预先感谢您。

+0

[股票数据下载器(http://www.insight-things.com/download-historical-share-stock-trust-index-quotations)允许基于谷歌财经数据下载历史股票价格。在大多数情况下,如果要执行分析,这应该足够了。 – 2017-07-10 10:38:39

回答

13

Google Finance Gadget API已正式deprecated since October 2012,但随着2014年4月,它的仍然活跃:

http://www.google.com/finance/info?q=NASDAQ:ADBE

注意,如果您的应用程序是为public consumption, using the Google Finance API is against Google's terms of service

这给出了一个JSON响应,可以在切断前两个字符('//')后使用C#中的简单JSON解析器进行解析。

要再次下载历史数据,您可以使用Google API。

http://www.google.com/finance/historical?q=NASDAQ:ADBE&startdate=Jan+01%2C+2009&enddate=Aug+2%2C+2012&output=csv

给出了从开始日期当天股价年底结束日期的CSV。使用简单的CSV解析器从数据库中获取有意义的数据。但是,这种格式= csv选项不适用于少数证券交易所。

3

如果您想下载历史数据,您可以使用Google财经API(截至2016年5月仍可使用)。您没有提供一个结束日期,它会自动地从开始日期数据(或更高版本,如果股票没有那么交易),到最后全交易日:

http://www.google.com/finance/historical?q=NASDAQ:AAPL&startdate=Jan+01%2C+2000&output=csv

请记住,谷歌财经API仅供个人消费。我建议你他们的服务条款。

如果你想简单地下载最新的日期(这可能是有用的更新您的本地数据库),你可以使用宏涛蔡开发的次GoogleFinance库:

https://pypi.python.org/pypi/googlefinance

2

我刚才与实施本PHP。它可能是有用的。

<?php 

echo readGoogle('AAPL', 'Aug+21%2C+2017', 'Aug+22%2C+2017'); 

function readGoogle($ticker, $startDate, $endDate) { 


$fp = fopen("http://finance.google.com/finance/historical?q=".$ticker."&startdate=".$startDate."&enddate=".$endDate."&output=csv", 'r'); 


if (FALSE === $fp) return 'Can not open data.'; 

$buffer = ''; 
while (!feof($fp)) $buffer .= implode(',', (array)fgetcsv($fp, 5000)); 

fclose($fp); 

return $buffer; 

} 

?> 
+0

伟大的研究,它的作品! – boctulus 2018-01-26 00:32:09

+0

不幸的是不在欧盟: - /我们在这里被封锁... – 2018-03-07 10:29:54

+0

@ OlliD-Metz你可以在你的代码中使用vpn连接。寻找'CURLOPT_PROXY'并从欧盟以外的服务器获得一个免费的IP。 – Reif 2018-03-07 19:34:59