爬虫技术可以爬https么?
首先我们先来理解什么是https
https是HTTP+SSL的简称,是在HTTP传输方式的基础上将之前的明文进行了加密传输,在传输之前就会确定信息加密方式和秘钥,在传输中即使被捕获或者伪造,那么也能保证信息不被泄露。
而爬虫本质是伪装成一个浏览器,发送请求给服务器,参与了整个过程,所以即使https链接也能抓取,但前提是伪造的这个客户端有正确的SSL证书。
寻找错误根源
爬虫运行中提示SSL error错误的情况,一般是本地证书或者相关SSL库没有正确安装、服务器使用自己制作的CA证书,没有有权威机构认证
解决证书异常问题
对于CA证书问题我们可以参考下面集中方案:
1.不验证CA证书,但要忽略安全警告
coding=utf-8import requests# 不验证CA证书则需要忽略安全警告方式一:import urllib3urllib3.disable_warnings()方式二:from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.packages.urllib3.disable_warnings(InsecureRequestWarning)r=requests.get(url=“https://www.baidu.com/”,verify=False)print r.elapsed.total_seconds()
2.指定证书位置或含证书的文件夹(此文件夹是由OpenSSL工具制作的)
coding=utf-8import requestsr=requests.get(url=“https://www.baidu.com/”,verify='/path/to/certfile')
以上是爬虫技术可以爬https么的详细内容。更多信息请关注PHP中文网其他相关文章!