SSLError:HTTPSConnectionPool(host =' www.quandl.com',port = 443):超出最大重试次数

时间:2017-12-24 11:23:38

标签: python python-requests

我正面临一个问题。请帮助我

以下是代码:

import pandas
import quandl
import time

df = quandl.get('FINRA/FNSQ_GOOGL')
print(df.head())

我面临的错误是:

Traceback (most recent call last):

  File "C:\Users\Desktop\My Folder\test.py", line 5, in <module>
    df = quandl.get('FINRA/FNSQ_GOOGL')

  File "C:\Python27\lib\site-packages\quandl\get.py", line 48, in get
    data = Dataset(dataset_args['code']).data(params=kwargs, handle_column_not_found=True)

  File "C:\Python27\lib\site-packages\quandl\model\dataset.py", line 47, in data
    return Data.all(**updated_options)

  File "C:\Python27\lib\site-packages\quandl\operations\list.py", line 14, in all
    r = Connection.request('get', path, **options)

  File "C:\Python27\lib\site-packages\quandl\connection.py", line 36, in request
    return cls.execute_request(http_verb, abs_url, **options)

  File "C:\Python27\lib\site-packages\quandl\connection.py", line 50, in execute_request
    raise e

SSLError: HTTPSConnectionPool(host='www.quandl.com', port=443): Max retries exceeded with url: /api/v3/datasets/FINRA/FNSQ_GOOGL/data?order=asc (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
import pandas 
import quandl
import time

df=''
while df=='':
try:
    df = quandl.get('FINRA/FNSQ_GOOGL')
except:
    time.sleep(5)
    print("try")
    continue
print(df.head())

如果有人帮我解决这个问题,我将不胜感激。 在此先感谢!!

5 个答案:

答案 0 :(得分:0)

df = quandl.get('FINRA/FNSQ_GOOGL')对我来说很好。该错误表明证书验证失败,这意味着您的客户端无法验证服务器的证书。您可能需要更新SSL CA证书包。

您可以尝试升级certifi包:pip install -U certifi。我的系统正在使用certifi-2017.11.5

答案 1 :(得分:0)

这是防火墙问题。当我关闭防火墙时,我能够获取数据集。

答案 2 :(得分:0)

我遇到了类似的问题,发现自从我在公司防火墙后面,它引起了问题。 设置http代理修复了这个问题以及我遇到的其他pip问题。 尝试以下方法:

import os
os.environ["HTTP_PROXY"]="<yourproxy>"

答案 3 :(得分:0)

安装pyOpenSSL对我有帮助,并能够解决此错误。

pip install pyOpenSSL

答案 4 :(得分:0)

使用HTTPS:

print(requests.get('https://www.yahoo.com'))

使用HTTP(print(requests.get('http://www.yahoo.com')))无效