【问题标题】:Python 2.7 Yahoo Finance No Definition FoundPython 2.7 雅虎财经未找到定义
【发布时间】:2016-10-09 13:45:28
【问题描述】:

希望你一切都好。我正在使用 Python 2.7 和新版本。我正在尝试使用 yahoo Finance 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% 正常工作? 谢谢。 最诚挚的问候

【问题讨论】:

    标签: python yql yahoo-api yahoo-finance


    【解决方案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'
    

    【讨论】:

    • 谢谢 Marijin!所以我把它放在一个无限循环中,直到它与 try 和 excert 一起工作?
    • @AmatoIlCiabattaro:确切地说,可能是对您重试的次数有限制。
    • 当我直接点击 URL 时,我看到了同样的问题(去掉服务器端代码。)
    猜你喜欢
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    相关资源
    最近更新 更多