【问题标题】:What's causing this yahoo_fin get_quote_table error?是什么导致了这个 yahoo_fin get_quote_table 错误?
【发布时间】:2020-06-29 15:51:01
【问题描述】:

我正在尝试使用 yahoo_fin 的 get_quote_table 获取实时价格、前一个收盘价和当日范围。它一直在处理有时发生的这些错误,但我的程序能够......直到现在。今天,我经常遇到这些错误。

File "bot.py", line 120, in start
    price_opens[i] = get_quote_table(all_tickers[i])["Previous Close"]
  File "C:\Users\NAME\AppData\Local\Programs\Python\Python36\lib\site-packages\yahoo_fin\stock_info.py", line 202, in get_quote_table
    quote_price = pd.DataFrame(["Quote Price", get_live_price(ticker)]).transpose()
  File "C:\Users\NAME\AppData\Local\Programs\Python\Python36\lib\site-packages\yahoo_fin\stock_info.py", line 425, in get_live_price
    df = get_data(ticker, end_date = pd.Timestamp.today() + pd.DateOffset(10))
  File "C:\Users\NAME\AppData\Local\Programs\Python\Python36\lib\site-packages\yahoo_fin\stock_info.py", line 78, in get_data
    raise AssertionError(resp.json())
  File "C:\Users\NAME\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\models.py", line 898, in json
    return complexjson.loads(self.text, **kwargs)
  File "C:\Users\NAME\AppData\Local\Programs\Python\Python36\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Users\NAME\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\NAME\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我也一直在 Heroku 上运行这个机器人,并且出现了同样的问题。 什么可能导致此问题?请帮忙。

编辑:此错误随机发生。有时,某个代码会失败,而另一次,它会起作用。但是,今天很忙,每次我的机器人启动时都会发生这种情况。

【问题讨论】:

    标签: json python-3.x finance yahoo-finance computational-finance


    【解决方案1】:

    似乎发生了以下两件事之一:YF 的服务出现问题,或者(更有可能)他们正在积极尝试以编程方式限制访问端点的人数。您收到 JSONDecodeError 的原因是存在 404 错误:

    您可以使用 while 循环破解它并尝试 / except 块:

    while True:
        try:
            # your code here
            break
        except ValueError: # ValueError will catch the JSONDecodeError
            continue
    

    【讨论】:

      猜你喜欢
      • 2011-08-13
      • 2012-10-06
      • 2012-09-21
      • 2010-10-12
      • 2013-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多