Jak uzyskać notowania giełdowe za pomocą Google Finance API?

Szukam dostępu do danych finansowych z usług Google.

Znalazłem Ten adres URL , który pobiera dane giełdowe dla Microsoftu.

Jakie są wszystkie możliwe parametry, które Google dopuszcza dla tego rodzaju żądania HTTP? Chciałbym zobaczyć wszystkie różne informacje, które mogę uzyskać.

Author: Sashi Kant, 2009-02-09

13 answers

Istnieje całe API do zarządzania portfelami. * Link USUNIĘTY. Google nie udostępnia już API dla programistów.

Uzyskanie notowań giełdowych jest trochę trudniejsze. Znalazłem jeden artykuł, w którym ktoś dostał notowania giełdowe za pomocą arkuszy kalkulacyjnych Google.

Możesz również użyć gadżetów ale chyba nie o to ci chodzi.

API, o którym wspominasz, jest interesujące, ale nie wydaje się być udokumentowane (o ile I tak udało mi się znaleźć).

Oto kilka informacje o historycznych cenach , tylko w celach informacyjnych.

 40
Author: cletus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-07 09:36:55

Google Finance Gadget API jest oficjalnie przestarzałe od października 2012 r., ale od kwietnia 2014 r. jest nadal aktywne:

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

Możesz również uzyskać wykresy: https://www.google.com/finance/getchart?q=YELP

Zauważ, że jeśli aplikacja jest przeznaczona do użytku publicznego, korzystanie z Google Finance API jest niezgodne z Warunkami korzystania z usługi Google .

Sprawdź google-finance-get-stock-quote-realtime aby uzyskać pełny kod w Pythonie

 74
Author: digitalPBK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-05 21:05:00

Uznałem tę stronę za pomocną.

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

To linki do API yahoo wydaje się oferować, że jest bardzo prosty i przydatny.

Na przykład:

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

Pełne szczegóły tutaj:

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

 17
Author: fratrik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-21 16:13:26

Edit: wywołanie api zostało usunięte przez google. więc już nie działa.

Zgadzam się z odpowiedzią Pareshkumara. Teraz jest wrapper Pythona googlefinance dla wywołania url.

Zainstaluj googlefinance

$pip install googlefinance

Łatwo jest uzyskać aktualną cenę akcji:

>>> 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 finance jest źródłem, które dostarcza dane giełdowe w czasie rzeczywistym. Istnieją również inne API od yahoo, takie jak yahoo-finance , ale są one opóźnione o 15min dla NYSE i NASDAQ zapasy.

 10
Author: hongtao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-10 03:51:41

Problem z danymi Yahoo i Google polega na tym, że naruszają one Warunki korzystania z usługi, jeśli używasz ich do użytku komercyjnego. Kiedy Twoja witryna / aplikacja jest nadal mała, nie jest duża, ale jak tylko trochę urosniesz, zaczynasz się wycofywać z wymiany. Przykładem licencjonowanego rozwiązania jest FinancialContent: http://www.financialcontent.com/json.php lub Xignite

 4
Author: Bart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-10 17:55:54

Być może interesujące, dokument Google Finance API zawiera sekcję opisującą, jak uzyskać dostęp do różnych parametrów za pomocą JavaScript .

Przypuszczam, że API JavaScript może być opakowaniem do żądania JSON, o którym wspomniałeś powyżej... być może mógłbyś sprawdzić, które żądania HTTP są wysyłane.

 3
Author: Philipp Lenssen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-09 11:28:16

Budując na ramionach olbrzymów...oto jedna linijka, którą napisałem, aby zapalić wszystkie bieżące dane giełdowe Google do lokalnych zmiennych powłoki Bash:

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"

Wtedy będziesz miał zmienne takie jak $gf_last $GF_open $GF_volume itp. łatwo dostępne. Uruchom env lub zobacz wewnątrz /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.

Więc dla stock="FBM" /tmp / stockprice.tmp.log (i twoje środowisko) będzie zawierał:

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"; 
 3
Author: Marcos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-29 18:11:32

To nie jest już aktywne API dla google, możesz spróbować Xignite, chociaż pobierają: http://www.xignite.com

 3
Author: Christopher A. Lewis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-13 16:49:45

Oto przykład, który możesz wykorzystać. Nie mam jeszcze Google Finance, ale oto przykład Yahoo. Będziesz potrzebował HTMLAgilityPack , który jest niesamowity. Szczęśliwego Polowania Na Symbole.

Wywołanie procedury za pomocą YahooStockRequest(string Symbols);

Gdzie symbole = ciąg znaków rozdzielany przecinkami lub tylko jeden symbol

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
Author: Patrick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-04 16:26:10

Najprostszym sposobem jak wyjaśniłeś jest ten link to jest dla "Dow Jones Industrial Average"

Link 2 jest dla 'NASDAQ-100'

I dla wszystkich związanych z NASDAQ link 3

Myślę, że to powinno być to, inaczej chcesz to samo w notacji JSON to samo co Microsoft

Proszę odnieść się do tego starego posta myślę, że to pomoże,

Aktualizacja:

Aby poznać szczegóły objętości i inne szczegóły, Stworzyłem vbscript czyli za pomocą obiektu IE pobierać szczegóły z linku i alarmować zawartość w danym id(Utwórz .plik vbs i uruchom go..

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

Spowoduje alarm wartości ze strony like this

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
Jestem pewien, że to pomoże..
 2
Author: MarmiK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:57

Google quote API zniknął. Jednak Investor ' s Exchange oferuje API , które jest bardzo łatwe w użyciu dla danych cytatów.

 1
Author: J. Peterson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-13 02:15:52

Spróbuj z tym: http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOGL

Zwróci ci wszystkie dostępne szczegóły dotyczące wspomnianego towaru.

Np. out put wyglądałby następująco:

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

Możesz mieć symbol akcji firmy na końcu tego adresu URL, aby uzyskać jego szczegóły:

http://finance.google.com/finance/info?client=ig&q=<YOUR COMPANY STOCK SYMBOL>
 1
Author: OverrockSTAR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-06 09:15:01

Aby znaleźć dane Wykresów za pomocą API danych finansowych Google, należy po prostu przejść do Google, tak jakby szukając szukanego terminu, wpisać finanse w wyszukiwarkę, a pojawi się link do Google finance. Gdy znajdziesz się w wyszukiwarce Google finance, wpisz nazwę tickera w silniku API danych finansowych, a wynik zostanie wyświetlony. Należy jednak zauważyć, że wszystkie wykresy finansów Google są opóźnione o 15 minut, a co najwyżej można je wykorzystać do lepszego zrozumienia przeszłość tickera, a nie aktualna cena.

Rozwiązaniem dla opóźnionych informacji wykresu jest uzyskanie w czasie rzeczywistym danych finansowych API. Przykładem może być interfejs barchartondemand, który zawiera informacje o cytatach w czasie rzeczywistym, wraz z innymi szczegółowymi funkcjami, które ułatwiają znalezienie dokładnego wykresu, którego szukasz. Dzięki w pełni konfigurowalnym funkcjom i specjalnym narzędziom programistycznym do precyzyjnych informacji handlowych, których potrzebujesz, narzędzia barchartondemand przewyższają Google finanse z dużą marżą.

 0
Author: Chris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-23 06:29:31