首页 > 解决方案 > SSLError:HTTPSConnectionPool python pandas-datareader

问题描述

import pandas_datareader.data as web
import datetime
start = datetime.datetime(2016, 2, 19)
end = datetime.datetime(2016, 2, 22)
gs = web.DataReader("078930.KS", "yahoo", start, end)

这只是一个简单的代码,它给出了这种错误

C:\ProgramData\Anaconda3\python.exe C:/Users/asdf/PycharmProjects/untitled1/asdf.py Traceback(最近一次调用最后):文件“C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connectionpool .py”,第 588 行,在 urlopen conn = self._get_conn(timeout=pool_timeout) 文件“C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connectionpool.py”,第 248 行,在 _get_conn 返回 conn 或 self ._new_conn() 文件“C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connectionpool.py”,第 816 行,在 _new_conn 中引发 SSLError("Can't connect to HTTPS URL because the SSL" urllib3.exceptions. SSLError: 无法连接到 HTTPS URL,因为 SSL 模块不可用。

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次调用):文件“C:\ProgramData\Anaconda3\lib\site-packages\requests\adapters.py”,第 449 行,发送超时=超时文件“C:\ProgramData\Anaconda3\lib\site -packages\urllib3\connectionpool.py”,第 638 行,在 urlopen _stacktrace=sys.exc_info()[2]) 文件“C:\ProgramData\Anaconda3\lib\site-packages\urllib3\util\retry.py”,第 398 行,递增 raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='finance.yahoo.com', port=443): Max Retry exceeded with url: /quote /078930.KS/history?period1=1455822000&period2=1456167599&interval=1d&frequency=1d&filter=history(由 SSLError 引起(“无法连接到 HTTPS URL,因为 SSL 模块不可用。”))

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次通话最后):文件“C:/Users/asdf/PycharmProjects/untitled1/asdf.py”,第 5 行,在 gs = web.DataReader("078930.KS", "yahoo", start, end)文件“C:\ProgramData\Anaconda3\lib\site-packages\pandas_datareader\data.py”,第 310 行,在 DataReader session=session).read() 文件“C:\ProgramData\Anaconda3\lib\site-packages\ pandas_datareader\base.py”,第 210 行,在读取 params=self._get_params(self.symbols)) 文件“C:\ProgramData\Anaconda3\lib\site-packages\pandas_datareader\yahoo\daily.py”,第 129 行,在 _read_one_data resp = self._get_response(url, params=params) 文件“C:\ProgramData\Anaconda3\lib\site-packages\pandas_datareader\base.py”,第 132 行,在 _get_response headers=headers) 文件“C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py",第 546 行,在 get return self.request('GET', url, **kwargs) File "C:\ProgramData\Anaconda3\lib\site -packages\requests\sessions.py”,第 533 行,在请求中 resp = self.send(prep, **send_kwargs) 文件“C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py”,行646,在发送 r = adapter.send(request, **kwargs) 文件“C:\ProgramData\Anaconda3\lib\site-packages\requests\adapters.py”,第 514 行,在发送中引发 SSLError(e, request= request) requests.exceptions.SSLError: HTTPSConnectionPool(host='finance.yahoo.com', port=443): 最大重试次数超出 url: /quote/078930.KS/history?period1=1455822000&period2=1456167599&interval=1d&frequency=1d&filter=history(由 SSLError 引起(“无法连接到 HTTPS URL,因为 SSL 模块不可用。”))

进程以退出代码 1 结束

我正在使用 32 位 anaconda 版本 3.7.3

任何想法......怎么了?

标签: pythonsslyahooyahoo-financepandas-datareader

解决方案


推荐阅读