报错<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)>
说明,在网上有几种解决方案
方案1
ssl._create_default_https_context = ssl._create_unverified_context
方案二
发送请求时,指定urlopen参数
context = ssl._create_unverified_context()
html = urlopen("http://www.pythonscraping.com/exercises/exercise1.html",context=context)
我的方案
在观看ssl库之后,我发现有一种更简单的方法
新建默认SSLContext对象,默认是不用进行ssl认证的
context=ssl.SSLContext()
html = urlopen("http://www.pythonscraping.com/exercises/exercise1.html",context=context)
完整代码
import ssl
from urllib.request import urlopen
from bs4 import BeautifulSoup
context=ssl.SSLContext()
html = urlopen("http://www.pythonscraping.com/exercises/exercise1.html",context=context)
bsObj = BeautifulSoup(html, "html.parser")
print(bsObj.h1)