问题描述

本人在练习yfinance 库时报错:

FutureWarning: YF.download() has changed argument auto_adjust default to True
  maotai_data = yf.download(symbol, start = "2022-01-01", end = "2023-11-01")
[*********************100%***********************]  1 of 1 completed

1 Failed download:
['600519.SS']: YFRateLimitError('Too Many Requests. Rate limited. Try after a while.')
Empty DataFrame
Columns: [(Adj Close, 600519.SS), (Close, 600519.SS), (High, 600519.SS), (Low, 600519.SS), (Open, 600519.SS), (Volume, 600519.SS)]
Index: []

原代码为

import yfinance as yf
#上海证券交易所,茅台公司股票代码
symbol = "600519.SS"

#或者,深圳证券交易所,泸州老窖公司股票代码
#luzhou_laojiao_szse = yf.Ticker('000568.SZ')

#获取茅台公司股票数据
maotai_data = yf.download(symbol, start = "2022-01-01", end = "2023-11-01")

#打印数据的前几行
print(maotai_data.head())

# 保存数据到 CSV 文件(保存到当前代码所在目录,文件名为 maotai_data.csv)
maotai_data.to_csv("maotai_data.csv")

尝试解决

在网络上搜索看到有人说需要更新库:

pip install yfinance --upgrade

尝试了一下仍然不行

最终解决方法

首先保证挂vpn

其次在代码中添加以下内容:

import os

proxy = 'http://127.0.0.1:7890' # 代理设置,此处修改

os.environ['HTTP_PROXY'] = proxy

os.environ['HTTPS_PROXY'] = proxy

再次运行:

成功

查看csv文件:

完整的成功代码

import yfinance as yf
import os
proxy = 'http://127.0.0.1:7890' # 代理设置,此处修改
os.environ['HTTP_PROXY'] = proxy
os.environ['HTTPS_PROXY'] = proxy


#上海证券交易所,茅台公司股票代码
symbol = "600519.SS"

#或者,深圳证券交易所,泸州老窖公司股票代码
#luzhou_laojiao_szse = yf.Ticker('000568.SZ')

#获取茅台公司股票数据
maotai_data = yf.download(symbol, start = "2022-01-01", end = "2023-11-01")

#打印数据的前几行
print(maotai_data.head())

# 保存数据到 CSV 文件(保存到当前代码所在目录,文件名为 maotai_data.csv)
maotai_data.to_csv("maotai_data.csv")

更多推荐