下面是复制它的代码:
import pandas as pd
url = 'https://info.gesundheitsministerium.gv.at/data/timeline-faelle-bundeslaender.csv'
df = pd.read_csv(url)
它会失败,并返回以下跟踪:
URLError: <urlopen error [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1129)>
这里是一个link to check的URL。下载工作从同一个浏览器,如果你嵌入在Jupyter的markdown单元格的链接。
有什么办法能让这一切“正常运转”吗?
更新:
根据Florin C提出的问题。下面,
此解决方案解决了通过请求下载时的问题:
import requests
import urllib3
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'ALL:@SECLEVEL=1'
requests.get(url)
这将是一个迫使Pandas以某种方式相同的问题。
我的环境:
Python implementation: CPython
Python version : 3.9.7
IPython version : 7.28.0
requests : 2.25.1
seaborn : 0.11.2
json : 2.0.9
numpy : 1.20.3
plotly : 5.4.0
matplotlib: 3.5.0
lightgbm : 3.3.1
pandas : 1.3.4
Watermark: 2.2.0
1条答案
按热度按时间lymnna711#
如果您需要自动化该过程,并且不想先下载csv然后再从文件读取,那么这里有一个解决方案。
应该注意的是,在OS级别将默认密码更改为
SECLEVEL=1
可能不安全。不过这种暂时的改变应该是可以的。