7

我想开发一个小型应用程序来自动从 Google Finance 获取股票价格并将其存储在我的本地机器中以供将来分析。

谁能给我一些线索如何开始?

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

先感谢您。

4

3 回答 3

14

Google Finance Gadget API自 2012年10 月起正式弃用,但截至 2014 年 4 月,它仍然有效:

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

请注意,如果您的应用程序是供公众使用的,那么使用 Google Finance API 将违反 Google 的服务条款

这给出了一个 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

给出从 startdate 到 enddate 的日终股票价格的 CSV。使用简单的 CSV 解析器从存储在数据库中的数据中获取有意义的数据。但是,此 format=csv 选项不适用于少数证券交易所。

于 2012-08-02T06:04:32.337 回答
3

如果您想下载历史数据,您可以使用 Google Finance API(截至 2016 年 5 月仍然有效)。您不必提供结束日期,它会自动获取从开始日期(或者如果股票当时没有交易则更晚)到最后一个完整交易日期的数据:

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

请记住,Google Finance API 仅供个人使用。我建议你他们的服务条款。

如果您只想下载最新日期(这可能有助于更新您的本地数据库),您可以使用由 Hongtao Cai 开发的 googlefinance 库:

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

于 2016-05-13T15:47:03.130 回答
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;

}

?>
于 2017-08-22T15:19:48.303 回答