Google Finance APIを使用して株価を取得するにはどうすればよいですか?


119

Googleサービスからの財務データへのアクセスを探しています。

マイクロソフトの株価データを取得するこのURLを見つけました。

この種類のHTTPリクエストに対してGoogleが許可するすべての可能なパラメーターは何ですか?入手できるさまざまな情報をすべて確認したいのですが。


36
どのようにしてそのURLを見つけましたか?
timmyc 2011年

2
シンプルでRESTベースのYQLを介してGoogle Financeデータを簡単に取得できます。例はここにあります:jarloo.com/google-finance-and-yql
ケリー

これは素晴らしい質問です。最新の回答は他にもありますか?
NickO 2013年

1
@ Timmyc- client=igパラメータは、これがiGoogleウィジェットに使用されている/使用されていたと信じるように私を導きます。ただ推測です。
ダナ2013

アプリケーションが一般消費向けである場合、Google Finance APIの使用はGoogleの利用規約に違反することに注意してください。@timmyc:&clientパラメータは必要ありません。finance.google.com/finance/info?q=NASDAQ%3aMSFTは機能します。
Dan Dascalescu 2014

回答:


40

ポートフォリオを管理するためのAPI全体があります。*リンクを削除しました。Googleはこのための開発者APIを提供しなくなりました。

株価の取得は少し難しいです。Googleスプレッドシートを使用して誰かが株価情報を入手した記事を見つけました。

ガジェットを使用することもできますが、それはあなたが望んでいることではないと思います。

あなたが言及するAPIは興味深いですが、ドキュメント化されていないようです(とにかく見つけることができる限り)。

参考までに、過去の価格に関する情報を以下に示します。


5
RESTベースであり、認証を必要としないため、株式情報をより簡単に取得するために使用できるgoogleの文書化されていないAPIがあります。これはC#の例ですjarloo.com/google-stock-api
Kelly

24
注:グーグル・ファイナンスのAPIが正式に2011年5月26日で廃止されており、2012年10月20日にシャットダウンされます
shawnwall

この回答はほとんどトピックから外れています。以下の答えは正しいものです。
Dan Dascalescu 2014

74

Googleのファイナンス・ガジェットAPIが正式にされました2012年10月以降、非推奨が、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

アプリケーションが一般消費向けである場合、Google Finance APIの使用はGoogleの利用規約に違反することに注意してください。

google-finance-get-stock-quote-realtimeでPythonの完全なコードを確認してください


1
これはまさに私が探していたものに私を導きました!ありがとう。
Grizzly Peakソフトウェア

しかし、私はこのURLで取引されたボリュームを取得できません。ボリュームの詳細も必要な場合、私を助けていただけますか
Sashi Kant

@DanDascalescuありがとうダン。調べてみたらちょうどダウンしていたようです。コメントを削除しました。
jpgeek 14

2
ありがとう、今日でも2016
CleanBold

5
2017年9月現在、これらのリンクは404ingであると言って悲しいです。
セントジョンソンジョンソン

17

このサイトは役に立ちました。

http://benjisimon.blogspot.com/2009/01/truly-simple-stock-api.html

yahooが提供するAPIへのリンクは非常にシンプルで便利です。

例えば:

http://finance.yahoo.com/d/quotes.csv?s=GOOG+AAPL&f=snl1

詳細はこちら:

http://www.gummy-stuff.org/Yahoo-data.htm


yahooでは、curlを使用してそれを取得し curl -L "http://finance.yahoo.com/d/quotes.csv?s=msft&f=sl1d1t1c1ohgv&e=.csv"ます。カール-Lが必要な場合、それ以外の場合は機能しません
arulraj.net

9

編集:api呼び出しはグーグルによって削除されました。そのため、機能していません。

パレシュクマーの答えに同意する。これで、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ファイナンスは、リアルタイムの株価データを提供するソースです。yahoo-financeなどのyahooからの他のAPIもありますが、NYSEおよびNASDAQ株式の場合は15分遅れます。


素敵なリアルタイム、私が探していたもの!
eusoubrasileiro


3

巨人の肩の上に築く...これが、Googleの現在のすべての株価データをローカルのBashシェル変数にZapするために私が書いたワンライナーです。

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&amp;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&amp;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&amp;q=FBM"; 
GF_chart_url="/finance/chart?q=NYSEARCA:FBM&amp;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"; 

リアルタイムの株価情報にURLを使用できますか?
サシカント2013

主にそうです。GF_trade_time_utc現在の時刻/日付と比較して、あなたは裁判官になります。
Marcos

あなたの答えをありがとう、しかしここにボリュームはjsonに来ていません、ボリュームを取引させる他の方法やURLはありますか?
サシカント2013


3

YahooとGoogleのデータの問題は、商用で使用している場合は利用規約に違反していることです。あなたのサイト/アプリがまだ小さい場合、それは大きくはありませんが、少し成長するとすぐにあなたは取引所から停止し、やめます。ライセンスが必要なソリューションの例はFinancialContent:http : //www.financialcontent.com/json.php またはXigniteです。


2

これが使用できる例です。まだGoogleファイナンスを持っているわけではありませんが、これがYahooの例です。HTMLAgilityPackが必要になります。これはすばらしいことです。ハッピーシンボルハンティング。

を使用してプロシージャを呼び出す YahooStockRequest(string Symbols);

ここで、Symbols =カンマ区切りの記号の文字列、または1つの記号のみ

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());

                }

            }
        }

2

あなたが説明した最も簡単な方法は、このリンクが「ダウジョーンズ工業平均」のためのものです

リンク2は「NASDAQ-100」用です

NASDAQ リンク3に関連するすべて

私はこれがそれであるはずだと思います、さもなければあなたはMicrosoftと同じJSON表記で同じことを望みます

この古い記事を参考にしてください。これが役立つと思います。

更新:

ボリュームの詳細やその他の詳細を知るために、リンクから詳細を取得するためにIEオブジェクトを使用し、特定のidのコンテンツに警告するvbscriptを作成しました(.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

これが役立つと確信しています。


回答ありがとうございます。しかし、取引量とともにjsonのリアルタイムデータが必要です。残りのサービスはありますか?
Sashiカント

1
...一般的に、このリンクは、いくつかの例外を除いてreatimeデータを提供し、リアルタイムの詳細については、これを参照してくださいgoogle.com/googlefinance/disclaimer/#realtime
MarmiK

もう一度ありがとう、これは本当に役に立ちましたが、それでもボリューム情報を取得するにはどうすればよいですか?
Sashi Kant

1
そのページ(google.com/…)でVBAまたはVBSを認識している場合、要素のIDは「market-data-div」で、divにはさらに2つのdivが含まれ、2番目のdivには<td class="val">759.30M</td>このようなボリュームを含むテーブルがあります。さらにヘルプが必要な場合は、作業のコードを投稿してください。
MarmiK 2013

いいえ、VBAまたはVBSについての考えはありませんが、これを確実にチェックします。URLを提供していただければ、リアルタイムの株価情報とボリューム情報が得られますか?
Sashi Kant


1

これで試してください:http : //finance.google.com/finance/info?client=ig&q=NASDAQ : GOOGL

それはあなたに言及された株に関して利用可能なすべての詳細を返します。

たとえば、出力は次のようになります。

// [ {
"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"
}
]

このURLの末尾に会社の銘柄記号を入力すると、その詳細を取得できます。

http://finance.google.com/finance/info?client=ig&q=<YOUR COMPANY STOCK SYMBOL>

0

GoogleのFinancial Data APIを使用してグラフデータを見つけるには、検索用語を探すかのようにGoogleにアクセスし、検索エンジンに「finance」と入力すると、Google Financeへのリンクが表示されます。Googleファイナンス検索エンジンで、ティッカー名をFinancial Data APIエンジンに入力すると、結果が表示されます。ただし、すべてのGoogleファイナンスチャートは15分遅れており、最大で現在の価格ではなくティッカーの過去の履歴をよりよく理解するために使用できることに注意してください。

遅延チャート情報の解決策は、リアルタイムの財務データAPIを取得することです。1つの例は、リアルタイムの見積もり情報を含むbarchartondemandインターフェースと、探している正確なグラフを簡単に見つけることができる他の詳細な機能です。完全にカスタマイズ可能な機能と、必要な正確な取引情報のための特定のプログラミングツールを備えたbarchartondemandのツールは、Googleファイナンスを大幅に上回っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.