我正面临一个问题。请帮助我
以下是代码:
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())
如果有人帮我解决这个问题,我将不胜感激。 在此先感谢!!
答案 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'))
)无效