关于使用pandas-datareader获取Yahoo Finance数据失败的问题。(RemoteDataError)

修复Yahoo Finance数据获取:pandas-datareader到yfinance的迁移
部署运行你感兴趣的模型镜像

python 学习日志

设备: MacBook Air
开发环境:Jupyter 6.1.4

问题:关于使用pandas-datareader获取Yahoo Finance数据失败的问题。
Trouble:
在使用pandas-datareader访问Yahoo Finance数据时,系统报错,显示无法访问端口。

remotedataerror,访问远程数据失败

上网查找原因后,发现是由于这个api接口已被弃用。通过搜索大神的解决经验,发现可能需要进入fix_yahoo_finance api的网站下载源文件。
然后,我抱着试一试的心理搜索了fix-yahoo-finance 0.1.37的网址:https://pypi.org/project/fix-yahoo-finance/
页面上有一句话“Yahoo! Finance market data downloader +fix for Pandas Datareader's get_data_yahoo()“,说明现在系统修复了用pandas-datareader获取股票数据的问题。

在Project description的部分,说明了fix-yahoo-finance的安装包被重命名为yfinance。由于backward-competability(反向兼容性)的问题,这个安装包在导入和使用时要用yfinance的名字,但是在导入和使用前,需要install并直接使用它。下面还告知了用户install和import的代码。
在这里插入图片描述
找到救星的我毫不犹豫地打开了terminal,复制了install代码 pip install yfinance --upgrade --no-cache-dir,回车,然后果然成果安装了yfinance。
在这里插入图片描述
在这里插入图片描述
接着我在python3里import了yfinance。
但小伙伴们,导入了新的包还不是最后一步,如果仅仅:
import pandas_datareader as pdr
import yfinance as fy
之后在获取数据时还是会报错。

很关键的一步是:
调用函数:yf.pdr_override()
网上的大神是这么操作的。
override在计算机科学技术里有覆盖的意思,可以理解为用新的访问途径替代了旧的访问途径。

但是,如果你这么写了代码,还是会报错!
(不要炸毛!
在这里插入图片描述
如果这么写就不会!(大神是这么写的!
在这里插入图片描述
我的理解是,既然原来的api接口被弃用了,那原来的pandas-datareader模块实际上就起不到访问的作用,所以,我们需要的是在借用yfinance访问Yahoo,然后用pandas-datareader获取数据。(我不知道自己的理解对不对

这样一来,在做好所有准备工作之后,再访问Yahoo的股票数据就成功啦!!!
这样读取就可以得到数据,不会报错!
感谢大神“第一段代码”!
感谢fix-yahoo-finance 0.1.37!
未来的码农会继续加油的!

参考优快云大神操作:
大神的用户名:“第一段代码”

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nibbles Tuffy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值