2016-10-09 17 views
0

あなたはうまくいきますように。私はPython 2.7を使用しています。私は株式から情報を取得するためにヤフーファイナンスのAPIを使用しようとしている、ここに私のコードです:Python 2.7 Yahoo Finance定義が見つかりませんでした

YQL Query error: Query failed with error: No Definition found for Table yahoo.finance.quote 

from yahoo_finance import Share 
yahoo = Share('YHOO') 
print yahoo.get_historical('2014-04-25', '2014-04-29') 

このコードthougは4回の試行のうち、一度に動作し、他の3回は、私にこのエラーが発生します

このエラーを修正して100%の時間稼働するコードがあることはありますか?おかげさまで お礼を言えば

答えて

1

これは、のサーバー側エラーです。 query.yahooapis.comサービスは、複数のマシンのクラスタによって処理されているように見え、それらのマシンの一部は誤った構成であるように見えます。これは一時的な問題かもしれません。

私は直接カール使用してAPIにアクセスするときに、同じエラーが表示されます。ループで再試行以外

$ curl "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quote%20where%20symbol%20%3D%20%22YHOO%22&format=json&env=store%3a//datatables.org/alltableswithkeys" 
{"error":{"lang":"en-US","description":"No definition found for Table yahoo.finance.quote"}} 

を、Pythonの側でこの問題を解決する方法はありません。

data = None 
for i in range(10): # retry 10 times 
    try: 
     yahoo = Share('YHOO') 
     data = yahoo.get_historical('2014-04-25', '2014-04-29') 
     break 
    except yahoo_finance.YQLQueryError: 
     continue 
if data is None: 
    print 'Failed to retrieve data from the Yahoo service, try again later' 
+0

感謝マリジン!だから、私はシェルがtryとexcertで動作するまでそれを無限ループに入れましたか? –

+0

@AmatoIlCiabattaro:正確には、再試行回数に制限があります。 –

+0

ありがとうございました!それは働いた:) –

関連する問題