我已经使用 yahoo_fin 库几个星期了(2021 年的相同版本,没有新的更新)。我的程序现在不起作用,但简单的请求也不起作用。我收到断言错误。
Traceback (most recent call last):
File "C:/Users/Notebook/PycharmProjects/Jarvis/ChatExample.py", line 7, in <module>
data = get_quote_data(symbol)
File "C:\Users\Notebook\AppData\Local\Programs\Python\Python37-32\lib\site-packages\yahoo_fin\stock_info.py", line 961, in get_quote_data
valid.""")
AssertionError: Invalid response from server. Check if ticker is
valid.
这是我尝试使用的基本代码。
from yahoo_fin.stock_info import *
symbol = 'C'
data = get_quote_data(symbol)
print(data)
当我转到源库时,我尝试只提取它使用的 URL,但这也不起作用。我试过很多知名股票的贴纸。
site = "https://query1.finance.yahoo.com/v7/finance/quote?symbols=" + ticker
这是回报:
{"finance":{"result":null,"error":{"code":"Unauthorized","description":"Invalid Crumb"}}}
将 URL 中的 v7 更改为 v6,它应该可以工作,至少现在是这样。我在 GitHub 上搜索错误时找到了这个解决方案。
四处寻找后,yahoo_fin 自 2021 年以来一直没有更新。您提到的链接在网站上不再有效(不知道正确的链接可能是什么……我试过了)。我尝试了 stock_info.py 中的其他链接,它们都有效。因此,我相信需要更新这个链接。
然而,我是python的新手,但是对比yahoofinancials和yfinance(都是2023更新),yahoo_fin好像已经被放弃了
我已经在 LinkedIn 上联系了作者,他将在接下来的几周内更新图书馆。
我使用的是Pycharm,所以当我得到错误时,我也得到了错误的超链接:
File "C:\Users\Notebook\AppData\Local\Programs\Python\Python37-32\lib\site-packages\yahoo_fin\stock_info.py", line 961, in get_quote_data
单击该链接,它应该带你到库包,你可以通过将链接中的 V7 更改为 V6 来执行上面 Dan G 提到的操作,如下所示。
site = "https://query1.finance.yahoo.com/v6/finance/quote?symbols=" + ticker