web-dev-qa-db-ja.com

Google Finance APIが2017年9月6日から機能しない

Google Finance APIを使用して株価を取得し、サイトにコンテンツを表示していました。 2017年9月6日から突然、これは機能しなくなりました。株価を取得するために使用したURLは https://finance.google.com/finance/info?client=ig&q=SYMBOL&callback= ?です。

以前は、yahoo Finance APIを使用していて、一貫性がありませんでした。そこで、Google Finance APIに切り替えました。

これで私を助けてくれますか?

ありがとう、ラム

結局、私はyahooファイナンスを使い始めました。データはライブではありません。20分遅れています。私のような問題に直面している人々に役立つと思いました。

Yahoo api urlは https://query.yahooapis.com/v1/public/yql?q=select%2 *%20from%20yahoo.finance.quotes%20where%20symbol%3D%22MSFT %22&env = store://datatables.org/alltableswithkeys

これにより、株価データがxml形式で返されます。 xmlを解析して、目的のフィールドを取得できます。

ありがとう、ラム

このURLは機能します。 URLがwww.google.comからFinance.google.comに変わっただけだと思います

https://finance.google.com/finance/getprices?q=ACC&x=NSE&p=15&i=300&f=d,c,o,h,l,v

6
Gitesh

同じ問題があり、Microsoft Bing API for Stock Marketsが提供する代替APIを以下に示しました。以下のAPIは株価データをJSON形式で返します。

https://finance.services.appex.bing.com/Market.svc/ChartAndQuotes?symbols=139.1.500209.BOM&chartType=1d&isETF=false&iseod=False&lang=en-IN&isCS=false&isVol=true

ありがとう、シャマル

2
Shyamal Patel

私は?infoリンク。これはもう機能しないため、Webページに戻ります。

ここに私のpythonスニペット:

def get_market_price(symbol):
    print "Getting market price: " + symbol

    base_url = 'http://finance.google.com/finance?q='

    retries = 2

    while True:
        try:
            response = urllib2.urlopen(base_url + symbol)
            html = response.read()
        except Exception, msg:
            if retries > 0:
                retries -= 1
            else:
                raise Exception("Error getting market price!")

        soup = BeautifulSoup(html, 'lxml')

        try:
            price_change = soup.find("div", { "class": "id-price-change" })
            price_change = price_change.find("span").find_all("span")
            price_change = [x.string for x in price_change]

            price = soup.find_all("span", id=re.compile('^ref_.*_l$'))[0].string
            price = str(unicode(price).encode('ascii', 'ignore')).strip().replace(",", "")

            return (price, price_change)
        except Exception as e:
            if retries > 0:
                retries -= 1
            else:
                raise Exception("Can't get current rate for scrip: " + symbol)

例:

Getting market price: NSE:CIPLA
('558.55', [u'+4.70', u'(0.85%)'])
0
ATOzTOA

このリクエストの結果を単純に解析できます:

https://finance.google.com/finance/getprices?q=GOOG&x=NASD&p=1d&i=60&f=d,c,o,h,l,v

(NASDAQでのGOOG、1日、頻度60秒、DATE、CLOSE、HIGH、LOW、OPEN、VOLUME)

0
Frank

Verizonがこの5月にyahooを買収し、無料のAPIサービスを終了した後、Yahooファイナンスを長期間使用した後、Googleファイナンスに切り替える必要がありました。私は戻ってこの問題を再調査し、誰かが新しいyahoo APIで動作する新しいYahooファイナンスAPIコールを作成しました。 https://stackoverflow.com/a/44092983/831635

pythonソースとインストーラーはここにあります: https://github.com/c0redumb/yahoo_quote_download

引数は(ticker、start_date、end_date)で、日付はyyyymmdd形式で、Unicode文字列のリストを返します。次のテストでは、数週間分のデータをダウンロードし、調整された終値のみを抽出してadj_closeというリストを返します。

from yahoo_quote_download import yqd
import string
quote = yqd.load_yahoo_quote('AAPL', '20170515', '20170530')
print(quote[0]) # print the column headers
print(quote[1]) # print a couple rows of data
print(quote[2]) # just to make sure it looks right
quote.pop()  # get rid of blank string at end of data
quote = [row.encode("utf-8") for row in quote]  # convert to byte data
quote = [string.split(row, ',') for row in quote] # split the string to create a list of lists
adj_close = [row[5] for row in quote]  # grab only the 'adj close' data and put into a new list
print(adj_close)

戻り値:

Date,Open,High,Low,Close,Adj Close,Volume
2017-05-15,156.009995,156.649994,155.050003,155.699997,155.090958,26009700
2017-05-16,155.940002,156.059998,154.720001,155.470001,154.861862,20048500
['Adj Close', '155.090958', '154.861862', '149.662277', '151.943314', '152.461288', '153.387650', '153.198395', '152.740189', '153.268112', '153.009140', '153.068893']
0
Andrew

PHPでも同じ問題が発生しました。

URLを置き換えます https://www.google.com/finance/converter?a= $ amount&from = $ from_Currency&to = $ to_Currency

https://finance.google.com/finance/converter?a=1&from= $ from_Currency&to = $ to_Currency

私には問題ありません。

0
Surya Adhikari

昨日問題に直面したとき、私はこのようなスレッドを探して死にそうでした!

Salketerが言ったように、Google Finance APIは2012年に公式に「閉鎖」されました。しかし、何らかの理由で2017年9月5日まで機能していました。GF APIは、米国株式のライブ相場を取得します。2017年9月6日に機能しなくなったため、「密かに提供する」APIの背後にいるエンジニアが「実際に」サービスを停止したと考えています。

私は代替手段を見つけました https://www.alphavantage.co/documentation/ 、これは無料のライブ米国株式相場の最良の代替手段のようです。メールを必要とするだけで、それ以外は何も必要ありません。まだマルチシンボルクエリがないため、少し遅いですが、be食は選択者にはなれません。

0
dev-sonnyk