You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas-datareader获取Yahoo Finance数据时遇RemoteDataError求助

解决Yahoo Finance无法获取股票数据的问题

1. 修正基础错误

你的代码里股票代码写成了APPL,正确的苹果公司股票代码是AAPL,先修正这个低级错误。

2. 应对Yahoo Finance反爬限制

即使修正代码,Yahoo Finance目前有反爬机制,直接用pandas_datareader访问会被拦截,以下是两种可行解决方案:

方案一:给pandas_datareader添加请求头

手动设置请求头模拟浏览器访问,绕过反爬检测:

import math
import pandas_datareader as web
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import Dense, LSTM
import matplotlib.pyplot as plt

# 设置浏览器请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}

df = web.DataReader('AAPL', data_source='yahoo', start='2012-01-01', end='2022-08-17', headers=headers)
print(df)

方案二:改用yfinance库(推荐)

pandas_datareader对Yahoo Finance的支持已不稳定,官方推荐使用专门适配的yfinance库:

  1. 先安装库:
pip install yfinance --upgrade
  1. 修改代码:
import math
import yfinance as yf
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import Dense, LSTM
import matplotlib.pyplot as plt

# 使用yfinance获取股票数据
df = yf.download('AAPL', start='2012-01-01', end='2022-08-17')
print(df)

补充说明

Yahoo Finance在2020年后调整了接口规则,原pandas_datareader默认访问方式已无法绕过反爬,添加请求头或改用yfinance是当前最可靠的解决途径。

内容的提问来源于stack exchange,提问作者YeJun Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 22:36:19