urllib2会为https请求验证证书,所以如果openurl里面的网址没有经过CA认证,就无法打开。代码和报错如图:
from urllib.request import urlopen
from bs4 import BeautifulSoup
url="https://www.pythonscraping.com/pages/warandpeace.html"
html = urlopen(url)
上面这个网站是我学爬虫时书里的一个示例网站,如果把这个网站改成https://www.baidu.com的话则不会报错。
解决方案:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import ssl
url="https://www.pythonscraping.com/pages/warandpeace.html"
context = ssl._create_unverified_context()
html = urlopen(url,context = context)