我正在寻找对Google服务的财务数据的访问权限。
我发现this URL获取了Microsoft的库存数据。
Google允许此类HTTP请求的所有可能参数是什么?我希望看到我能得到的所有不同信息。
答案 0 :(得分:74)
Google Finance Gadget API已正式deprecated since October 2012,但截至2014年4月,它仍然有效:
<击>
http://www.google.com/finance/info?q=NASDAQ:GOOG
http://www.google.com/finance/info?q=CURRENCY:GBPUSD
http://finance.google.com/finance/info?client=ig&q=AAPL,YHOO
击>
您还可以获取图表:https://www.google.com/finance/getchart?q=YELP
请注意,如果您的申请是public consumption, using the Google Finance API is against Google's terms of service。
检查google-finance-get-stock-quote-realtime以获取python中的完整代码
答案 1 :(得分:39)
有一个完整的API来管理投资组合。 *删除链接。 Google不再为此提供开发人员API。
获取股票报价有点困难。我找到一篇文章,其中有人使用Google Spreadsheets获得股票报价。
你也可以使用gadgets,但我想这不是你想要的。
你提到的API很有意思,但似乎没有记录(据我所知,无论如何)。
以下是historical prices的一些信息,仅供参考。
答案 2 :(得分:17)
我发现这个网站很有帮助。
http://benjisimon.blogspot.com/2009/01/truly-simple-stock-api.html
它链接到雅虎似乎提供的API非常简单和有用。
例如:
http://finance.yahoo.com/d/quotes.csv?s=GOOG+AAPL&f=snl1
此处详细信息:
答案 3 :(得分:9)
编辑:谷歌删除了api通话。所以它不再起作用了。
同意Pareshkumar的回答。现在有一个用于url调用的python包装器googlefinance。
安装googlefinance
$pip install googlefinance
很容易获得当前股价:
>>> from googlefinance import getQuotes
>>> import json
>>> print json.dumps(getQuotes('AAPL'), indent=2)
[
{
"Index": "NASDAQ",
"LastTradeWithCurrency": "129.09",
"LastTradeDateTime": "2015-03-02T16:04:29Z",
"LastTradePrice": "129.09",
"Yield": "1.46",
"LastTradeTime": "4:04PM EST",
"LastTradeDateTimeLong": "Mar 2, 4:04PM EST",
"Dividend": "0.47",
"StockSymbol": "AAPL",
"ID": "22144"
}
]
Google财经是提供实时股票数据的来源。还有来自雅虎的其他API,例如yahoo-finance,但纽约证券交易所和纳斯达克股票的延迟时间为15分钟。
答案 4 :(得分:3)
Google Finance API文档可能包含a section detailing how to access different parameters via JavaScript。
我认为JavaScript API可能是您在上面提到的JSON请求的包装器...也许您可以检查正在发送的HTTP请求。
答案 5 :(得分:3)
建立在巨人的肩膀上......这是我写的一个单行内容,将谷歌目前的所有股票数据压缩成本地Bash shell变量:
stock=$1
# Fetch from Google Finance API, put into local variables
eval $(curl -s "http://www.google.com/ig/api?stock=$stock"|sed 's/</\n</g' |sed '/data=/!d; s/ data=/=/g; s/\/>/; /g; s/</GF_/g' |tee /tmp/stockprice.tmp.log)
echo "$stock,$(date +%Y-%m-%d),$GF_open,$GF_high,$GF_low,$GF_last,$GF_volume"
然后你会有像$ GF_last $ GF_open $ GF_volume等变量随时可用。运行env或查看/tmp/stockprice.tmp.log
http://www.google.com/ig/api?stock=TVIX&output=csv by itself returns:
<?xml version="1.0"?>
<xml_api_reply version="1">
<finance module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0" >
<symbol data="TVIX"/>
<pretty_symbol data="TVIX"/>
<symbol_lookup_url data="/finance?client=ig&q=TVIX"/>
<company data="VelocityShares Daily 2x VIX Short Term ETN"/>
<exchange data="AMEX"/>
<exchange_timezone data="ET"/>
<exchange_utc_offset data="+05:00"/>
<exchange_closing data="960"/>
<divisor data="2"/>
<currency data="USD"/>
<last data="57.45"/>
<high data="59.70"/>
<low data="56.85"/>
etc.
因此stock="FBM"
/tmp/stockprice.tmp.log (以及您的环境)将包含:
GF_symbol="FBM";
GF_pretty_symbol="FBM";
GF_symbol_lookup_url="/finance?client=ig&q=FBM";
GF_company="Focus Morningstar Basic Materials Index ETF";
GF_exchange="NYSEARCA";
GF_exchange_timezone="";
GF_exchange_utc_offset="";
GF_exchange_closing="";
GF_divisor="2";
GF_currency="USD";
GF_last="22.82";
GF_high="22.82";
GF_low="22.82";
GF_volume="100";
GF_avg_volume="";
GF_market_cap="4.56";
GF_open="22.82";
GF_y_close="22.80";
GF_change="+0.02";
GF_perc_change="0.09";
GF_delay="0";
GF_trade_timestamp="8 hours ago";
GF_trade_date_utc="20120228";
GF_trade_time_utc="184541";
GF_current_date_utc="20120229";
GF_current_time_utc="033534";
GF_symbol_url="/finance?client=ig&q=FBM";
GF_chart_url="/finance/chart?q=NYSEARCA:FBM&tlf=12";
GF_disclaimer_url="/help/stock_disclaimer.html";
GF_ecn_url="";
GF_isld_last="";
GF_isld_trade_date_utc="";
GF_isld_trade_time_utc="";
GF_brut_last="";
GF_brut_trade_date_utc="";
GF_brut_trade_time_utc="";
GF_daylight_savings="false";
答案 6 :(得分:3)
雅虎和谷歌数据的问题在于,如果您将其用于商业用途,则会违反服务条款。当你的网站/应用程序仍然很小时,它并不重要,但只要你成长一点,你就会开始停止并停止交流。 许可的解决方案示例是FinancialContent:http://www.financialcontent.com/json.php 或Xignite
答案 7 :(得分:3)
这不再是谷歌的有效API,你可以试试Xignite,虽然他们收费:http://www.xignite.com
答案 8 :(得分:2)
以下是您可以使用的示例。还没有谷歌财务,但这是雅虎的例子。你需要HTMLAgilityPack,这太棒了。快乐的符号狩猎。
使用YahooStockRequest(string Symbols);
其中Symbols =以逗号分隔的符号字符串,或只是一个符号
public string YahooStockRequest(string Symbols,bool UseYahoo=true)
{
{
string StockQuoteUrl = string.Empty;
try
{
// Use Yahoo finance service to download stock data from Yahoo
if (UseYahoo)
{
string YahooSymbolString = Symbols.Replace(",","+");
StockQuoteUrl = @"http://finance.yahoo.com/q?s=" + YahooSymbolString + "&ql=1";
}
else
{
//Going to Put Google Finance here when I Figure it out.
}
// Initialize a new WebRequest.
HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(StockQuoteUrl);
// Get the response from the Internet resource.
HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();
// Read the body of the response from the server.
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
string pageSource;
using (StreamReader sr = new StreamReader(webresp.GetResponseStream()))
{
pageSource = sr.ReadToEnd();
}
doc.LoadHtml(pageSource.ToString());
if (UseYahoo)
{
string Results=string.Empty;
//loop through each Symbol that you provided with a "," delimiter
foreach (string SplitSymbol in Symbols.Split(new char[] { ',' }))
{
Results+=SplitSymbol + " : " + doc.GetElementbyId("yfs_l10_" + SplitSymbol).InnerText + Environment.NewLine;
}
return (Results);
}
else
{
return (doc.GetElementbyId("ref_14135_l").InnerText);
}
}
catch (WebException Webex)
{
return("SYSTEM ERROR DOWNLOADING SYMBOL: " + Webex.ToString());
}
}
}
答案 9 :(得分:2)
您解释的最简单的方法是link这是为了 '道琼斯工业平均指数'
Link 2适用于'NASDAQ-100'
以及与纳斯达克有关的所有人link 3
我认为这应该是它,否则你想要的JSON符号与Microsoft相同
请参阅此old post我认为这会有所帮助,
更新
要了解音量和其他细节的详细信息, 我创建了一个vbscript,它使用IE对象从链接中获取详细信息,并警告特定id中的内容(创建.vbs文件并运行它..
Set IE = CreateObject("InternetExplorer.Application")
while IE.readyState = 4: WScript.Sleep 10: wend
IE.Navigate "https://www.google.com/finance?q=INDEXNASDAQ%3ANDX&sq=NASDAQ&sp=2&ei=B3UoUsiIH5DIlgPEsQE"
IE.visible = true
while IE.readyState = 4: WScript.Sleep 10: wend
dim ht
ht= IE.document.getElementById("market-data-div").innerText
msgBox ht
IE.quit
这将提醒页面中的值 像这样
3,124.54 0.00 (0.00%)
Sep 4 - Close
INDEXNASDAQ real-time data - Disclaimer
Range -
52 week 2,494.38 - 3,149.24
Open -
Vol. 0.00
我相信这会有所帮助..
答案 10 :(得分:1)
试试这个: http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOGL
它将返回有关上述库存的所有可用详细信息。
e.g。 out put看起来如下:
// [ {
"id": "694653"
,"t" : "GOOGL"
,"e" : "NASDAQ"
,"l" : "528.08"
,"l_fix" : "528.08"
,"l_cur" : "528.08"
,"s": "0"
,"ltt":"4:00PM EST"
,"lt" : "Dec 5, 4:00PM EST"
,"lt_dts" : "2014-12-05T16:00:14Z"
,"c" : "-14.50"
,"c_fix" : "-14.50"
,"cp" : "-2.67"
,"cp_fix" : "-2.67"
,"ccol" : "chr"
,"pcls_fix" : "542.58"
}
]
您可以在此网址末尾加上公司股票代码,以获取其详细信息:
http://finance.google.com/finance/info?client=ig&q=<YOUR COMPANY STOCK SYMBOL>
答案 11 :(得分:0)
为了使用Google的财务数据API查找图表数据,必须简单地转到Google,就像在寻找搜索字词一样,在搜索引擎中输入资金,然后会出现指向Google财经的链接。进入Google财经搜索引擎后,在财务数据API引擎中输入股票代码名称,结果将会显示。但是,应该注意的是,所有Google财务图表都会延迟15分钟,最多可用于更好地了解自动收报机的过去历史,而不是当前价格。
延迟图表信息的解决方案是获取实时财务数据API。一个例子是barchartondemand界面,它具有实时报价信息,以及其他详细功能,使您可以更轻松地找到您正在寻找的确切图表。凭借完全可定制的功能和特定的编程工具,您可以获得所需的精确交易信息,barchartondemand的工具大大超越了Google财务。
答案 12 :(得分:0)
Google股票报价API已经消失。但是,Investor's Exchange offers an API非常容易用于报价数据。