- 所抓取网址为https://www.weixinqun.com/,针对该网址大量抓取,有很多页面
- 刚开始抓取时,设置下载延时2s,一切正常
- 一天过后,还没抓完,这时发现开始出现报错,响应为200但是response.body却为空,即response.text=='',基本上正常一个失败一个
- 采用scrapy shell 对失败的网址进行测试发现可以正常抓取到内容
- 本来想通过wireshark抓包分析,但是https貌似很难,不知道怎么处理
1、抓取 https 建议直接用 requests 库,如下所示:
import requests
url = "https://www.url"
values = {}
values['username'] = 'username'
values['password'] = 'password'
response = requests.post(url,values,verify=False)
print response.text
将 verify 设置为 False,Requests 也能忽略对 SSL 证书的验证,当然你可以为 verify 传入 CA_BUNDLE 文件的路径,或者包含可信任 CA 证书文件的文件夹路径。
2、这种类型的网站一般很少有高级的反爬取策略,你可以尝试维护一个代理IP池(自己爬取免费代理IP网站即可),每次都随机从中选取一个代理IP来做跳板访问。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。