问题引入:现在很多网站是使用HTTPS协议的,但是有些网站并没有设置好HTTPS证书,或者HTTPS的证书不被CA机构认可,这个时候访问这些网站就会报SSL证书错误
实例:访问https://www.ssr2.scrape.center/
对于这种情况我们使用代码来爬取的效果
import requests
response = requests.get('https://ssr2.scrape.center/')
print(response.status_code)
代码提示我们是SSL错误
因此如果就是要爬取这个网站改怎么办呢?
解决办法:跳过SSL验证
直接使用verify这个属性即可,这个属性默认是true,也就是默认会验证SSL,我们把他设置为False即可跳过SSL验证
import requests
response = requests.get('https://ssr2.scrape.center/',verify=False)
print(response.status_code)
此时返回的是一个warning消息和一个成功的状态码200
出现警告的原因是系统建议我们给它指定证书
如果不想看到warning消息又该怎么操作呢??
方法一:设置忽略警告
import requests
from requests.packages import urllib3
urllib3.disable_warnings()
response = requests.get('https://ssr2.scrape.center/',verify=False)
print(response.status_code)
方法二:捕获日志文章来源:https://www.toymoban.com/news/detail-598894.html
import requests
import logging
logging.captureWarnings(True)
response = requests.get('https://ssr2.scrape.center/',verify=False)
print(response.status_code)
方法三:指定本地的证书用作客户端证书(可以是单个文件或者包含两个文件路径的元组)
注意:使用证书的时候本地私有证书的key必须是解密状态,加密状态的key是不允许的。文章来源地址https://www.toymoban.com/news/detail-598894.html
到了这里,关于Python爬虫学习日记——SSL证书验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!