因為從2021 年11 月1 日起,用戶無法從中國大陸地區使用Yahoo 產品與服務 所以下麵兩個錯誤,都是代理配置的問題 error:No timezone found, symbol may be delisted error:No data found for this date range, ...
因為從2021 年11 月1 日起,用戶無法從中國大陸地區使用Yahoo 產品與服務
所以下麵兩個錯誤,都是代理配置的問題
error:No timezone found, symbol may be delisted
error:No data found for this date range, symbol may be delisted
以下是解決辦法:
1.實現強勁上網,保證你可以在瀏覽器訪問google
2.配置主機代理,其中10809是我的埠號
3.配置pythoncharm的代理,看圖即可,和第二步的內容設置成一樣的
4.將通過pip安裝的yfinace替換為github中hotfix/proxy分支(分支地址:https://github.com/ranaroussi/yfinance/tree/hotfix/proxy )
4.1 步驟1:將分支地址中的yfinace下載到本地
4.2 步驟2:用下載到本地的yfinace(可以通過everything查找,後面部分的路徑應該和我差不多)中的部分文件替換pip安裝的yfinace部分文件
5..編寫代碼從yahoo獲取數據,且在代碼里也要寫你的代理配置
import yfinance as yf
msft = yf.Ticker("MSFT")
stock_price = yf.download("AAPL", start="2017-01-01", end="2017-04-30", proxy="http://127.0.0.1:10809")
print(stock_price)
6.成功
環境如下:
yfinance 0.2.17
pandas 1.5.3
pandas-datareader 0.10.0
python 3.8
尤其註意,pandas如果是2.0.0的話還是拿不到數據,這個我試過。