希望你很好。我正在使用Python 2.7及其新功能。我试图使用雅虎金融API从股票中获取信息,这是我的代码:
from yahoo_finance import Share
yahoo = Share('YHOO')
print yahoo.get_historical('2014-04-25', '2014-04-29')
这个代码在4次尝试中起作用,其他3次给我这个错误:
YQL Query error: Query failed with error: No Definition found for Table yahoo.finance.quote
无论如何都要修复此错误,以便让代码100%正常工作? 谢谢。 最热烈的问候
答案 0 :(得分:1)
这是服务器端错误。 query.yahooapis.com
服务似乎由一组计算机处理,其中一些计算机似乎配置错误。这可能是一个暂时的问题。
使用curl直接访问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'