Как получить котировки акций с помощью Google Finance API?
Я ищу доступ к финансовым данным из сервисов Google.
Я нашел этот URL, который получает данные о запасах для Microsoft.
Каковы все возможные параметры, которые Google разрешает для такого HTTP-запроса? Я хотел бы видеть всю различную информацию, которую я мог бы получить.
Ответы
Ответ 1
Существует целый API для управления портфелями. * Ссылка удалена. Google больше не предоставляет API разработчика для этого.
Получение котировок акций немного сложнее. Я нашел одну статью, в которой кто-то получил котировки акций с помощью Google Spreadsheets.
Вы также можете использовать gadgets, но я думаю, что не то, что вам нужно.
API, который вы упомянули, интересен, но, похоже, не документирован (насколько мне удалось найти в любом случае).
Ниже приведена информация о исторических ценах, только для справки.
Ответ 2
API-интерфейс Google Finance Gadget официально устарел с октября 2012, но по состоянию на апрель 2014 года он по-прежнему активен:
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
Забастовкa >
Вы также можете получить диаграммы: https://www.google.com/finance/getchart?q=YELP
Обратите внимание, что если ваше приложение для общественного потребления, использование Google Finance API противоречит условиям предоставления услуг Google.
Отметьте google-finance-get-stock-quote-realtime для полного кода в python
Ответ 3
Я нашел этот сайт полезным.
http://benjisimon.blogspot.com/2009/01/truly-simple-stock-api.html
Он ссылается на API yahoo, кажется, предлагает это очень просто и полезно.
Например:
http://finance.yahoo.com/d/quotes.csv?s=GOOG+AAPL&f=snl1
Полная информация здесь:
http://www.gummy-stuff.org/Yahoo-data.htm
Ответ 4
Изменить: вызов api удален Google. поэтому он больше не функционирует.
Согласитесь с ответом Парескумара. Теперь существует оболочка python googlefinance для вызова URL.
Установить 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, такие как yahoo-finance, но они задерживаются на 15 минут для акций NYSE и NASDAQ.
Ответ 5
Возможно, интересный документ Google Finance API включает раздел, описывающий доступ к различным параметрам через JavaScript.
Я предполагаю, что JavaScript API может быть оболочкой для запроса JSON, упомянутого выше... возможно, вы могли бы проверить, какие HTTP-запросы отправляются.
Ответ 6
Основываясь на плечах гигантов... здесь один лайнер, который я написал, чтобы защелкнуть все данные текущего запаса Google в локальные переменные оболочки 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"
Затем у вас будут такие переменные, как $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";
Ответ 7
Проблема с данными Yahoo и Google заключается в том, что она нарушает условия обслуживания, если вы используете ее для коммерческого использования. Когда ваш сайт/приложение по-прежнему мало, это не biggie, но как только вы вырастите немного, вы начинаете переставать и отказываться от обмена.
Пример лицензированного решения - FinancialContent: http://www.financialcontent.com/json.php
или Xignite
Ответ 8
Это уже не активный API для Google, вы можете попробовать Xignite, хотя они заряжают: http://www.xignite.com
Ответ 9
Вот пример, который вы можете использовать. Havent получил Google Finance еще, но вот пример Yahoo. Вам понадобится HTMLAgilityPack, что является удивительным. Happy Symbol Hunting.
Вызвать процедуру, используя YahooStockRequest(string 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());
}
}
}
Ответ 10
Самый простой способ, как вы объяснили, это ссылка, это для
"Промышленный индекс Доу-Джонса"
Ссылка 2 для "NASDAQ-100"
и для всех связанных с NASDAQ ссылка 3
Я думаю, что это должно быть так, иначе вы хотите, чтобы в нотах JSON они были такими же, как Microsoft
Пожалуйста, обратитесь к этой старой почте. Я думаю, что это поможет,
Update:
Чтобы узнать подробности объема и других деталей,
Я создал 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
Я уверен, что это поможет..
Ответ 11
Попробуйте следующее:
http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOGL
Он вернет вам все доступные сведения об упомянутых запасах.
например. out будет выглядеть следующим образом:
//[{
"id": "694653"
, "t": "GOOGL"
, "e": "NASDAQ"
, "l": "528,08"
, "l_fix": "528.08"
, "l_cur": "528.08"
, "s": "0"
, "ltt": "4:00 PM EST"
, "lt": "5 декабря, 16:00 по восточному стандартному времени"
, "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-адреса вы можете указать символ своей компании в конце этого URL-адреса:
http://finance.google.com/finance/info?client=ig&q=<YOUR COMPANY STOCK SYMBOL>
Ответ 12
Чтобы найти данные диаграммы с помощью API финансовых данных Google, нужно просто перейти в Google, как если бы искали поисковый запрос, введите финансы в поисковую систему, и появится ссылка на Google finance. Как только в поисковой системе Google для финансирования введите имя тикера в механизм API финансовых данных, и результат будет отображаться. Однако следует отметить, что все графические графики Google задерживаются на 15 минут и, самое большее, могут использоваться для лучшего понимания тикера прошлой истории, а не текущей цены.
Решение для информации с задержкой диаграммы заключается в получении API данных финансовых данных реального времени. Примером может быть интерфейс barchartondemand, который содержит информацию о кавычках в реальном времени, а также другие подробные функции, которые упрощают поиск точной диаграммы, которую вы ищете. Благодаря полностью настраиваемым функциям и специальным инструментам программирования для точной информации о торговой информации, которые вам нужны, инструменты barchartondemand значительно превосходят финансы Google.
Ответ 13
API котировок акций Google исчез. Однако Инвестор Exchange предлагает API, который очень прост в использовании для данных кавычек.