[java] Google Finance API를 사용하여 주식 시세를 받으려면 어떻게해야합니까?

Google 서비스의 재무 데이터에 대한 액세스 권한을 찾고 있습니다.

Microsoft의 주식 데이터를 가져 오는 이 URL 을 찾았 습니다.

Google이 이러한 종류의 HTTP 요청에 허용하는 모든 가능한 매개 변수는 무엇입니까? 얻을 수있는 모든 다른 정보를보고 싶습니다.



답변

포트폴리오 관리를위한 전체 API가 있습니다. * 링크가 제거되었습니다. Google은 더 이상 이에 대한 개발자 API를 제공하지 않습니다.

주식 시세를 얻는 것은 조금 더 어렵습니다. 누군가가 Google 스프레드 시트를 사용하여 주식 시세를받은 기사를 하나 발견했습니다.

가제트를 사용할 수도 있습니다. 있지만 그게 당신이 추구하는 것이 아닙니다.

언급하신 API는 흥미롭지 만 문서화되지 않은 것 같습니다 (어쨌든 내가 찾을 수있는 한).

다음은 참고 용으로 역사적인 가격에 대한 정보입니다 .


답변

Google 금융 가젯 API는 공식적으로되었습니다 2012년 10월부터 사용되지 않습니다 ,하지만 년 4 월 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

차트를 얻을 수도 있습니다 : https://www.google.com/finance/getchart?q=YELP

애플리케이션이 공개적으로 사용되는 경우 Google Finance API를 사용하는 것은 Google의 서비스 약관에 위배됩니다 .

체크 구글 – 금융-GET-주식 시세 실시간을 파이썬에서 전체 코드


답변

이 사이트가 도움이된다는 것을 알았습니다.

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


답변

편집 : api 호출이 Google에 의해 제거되었습니다. 더 이상 작동하지 않습니다.

Pareshkumar의 답변에 동의하십시오. 이제 URL 호출을위한 python wrapper 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 분 지연됩니다.


답변

흥미로운 점은 Google Finance API 문서에 JavaScript를 통해 다양한 매개 변수에 액세스하는 방법을 자세히 설명하는 섹션이 포함되어 있습니다.

JavaScript API가 위에서 언급 한 JSON 요청의 래퍼 일 수 있다고 가정합니다. 어떤 HTTP 요청이 전송되고 있는지 확인할 수 있습니다.


답변

거인의 어깨 위에 구축 … 여기에 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&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"; 


답변

이것은 더 이상 Google의 활성 API가 아닙니다. http://www.xignite.com 을 청구하지만 Xignite를 사용해 볼 수 있습니다 .