url lib错误python

时间:2017-02-19 19:32:41

标签: python python-3.x ssl

我正在尝试通过URL下载数据集文件,但问题是我收到此消息。

 File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1320, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)>

Process finished with exit code 1

我不确定我做错了什么,因为我在网上关注了一个教程。 这是我正在运行的文件,一切都还可以,但问题是什么时候运行url进行下载。

print("download will complete at about 423 MB")


import sys

if sys.version_info[0] >= 3:
    from urllib.request import urlretrieve
else:
    from urllib import urlretrieve

url = "https://www.cs.cmu.edu/~./enron/enron_mail_20150507.tgz"
urlretrieve(url, filename="../enron_mail_20150507.tgz")
print("download complete!")


print()
print("unzipping Enron dataset (this may take a while)")
import tarfile
import os
os.chdir("..")
tfile = tarfile.open("enron_mail_20150507.tgz", "r:gz")
tfile.extractall(".")

1 个答案:

答案 0 :(得分:0)

您尝试解决的问题的最简单解决方案:使用HTTP而不是HTTPS。

url = "http://www.cs.cmu.edu/~./enron/enron_mail_20150507.tgz"

如果您更关心建立安全连接,那么@zwer提到的帖子就是您所需要的。请记住,urlretrieve接受关键字参数context的方式与urlopen

相同