錯誤信息:equests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)
ssh證書是美國網景公司發放的一個安全認證證書,有了這個證書便可證實網站是安全的,可是認證是須要收費的,python
因此一些網站就會本身仿造證書,這個時候瀏覽器就會給予警告,而咱們爬蟲就爬不到想要的信息瀏覽器
方法一:
加上一個參數:verify=證書路徑,或verify=False安全
如:ssh
import request url = 'xxxxx' req = requests.get(url,verify=False) print(req.text)
方法二:網站
ssl._create_default_https_context
=`ssl._create_unverified_context
#注意用了這個就不能用requests了,得用urllib2.Request`url
python2中code
# 方法二(推薦): import ssl import urllib2 ssl._create_default_https_context =ssl._create_unverified_context req =urllib2.Request('xxxx') data =urllib2.urlopen(req).read() print(data)
python3中server
import ssl import urllib.request ssl._create_default_https_context =ssl._create_unverified_context data =urllib.request.urlopen('xxxx').read() print(data)