Python ConnectionError:HTTPSConnectionPoolhost ='finance.yahoo.com',端口= 443:读取超时

问题描述

我正在编写以下代码

import numpy as np
import pandas as pd
from pandas_datareader import data as wb
tickers=['RELIANCE.NS','MBECL.NS']
mystocks=pd.DataFrame()
for t in tickers:
    mystocks[t]=wb.DataReader(t,data_source='yahoo',start='2015-1-1')['Adj Close']

mystocks

但这返回了
ConnectionError: HTTPSConnectionPool(host='finance.yahoo.com',port=443): Read timed out.

从浏览器访问Yahoo Finance。直到上周我才能够执行此操作,但是现在同一行代码抛出连接错误

解决方法

我建议您将获取数据帧的代码放在 try / except 语句中。这样它就会等到你的连接重新建立。

for t in tickers:
    try:
        mystocks[t]=wb.DataReader(t,data_source='yahoo',start='2015-1-1')['Adj Close']
    except:
        continue

mystocks

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...