scrapy爬虫抓到的网页内容有时为空的-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

scrapy爬虫抓到的网页内容有时为空的

贺卡贺卡 2018-06-02 19:27:59 3615

环境说明

  1. 所抓取网址为https://www.weixinqun.com/,针对该网址大量抓取,有很多页面
  2. 刚开始抓取时,设置下载延时2s,一切正常
  3. 一天过后,还没抓完,这时发现开始出现报错,响应为200但是response.body却为空,即response.text=='',基本上正常一个失败一个
  4. 采用scrapy shell 对失败的网址进行测试发现可以正常抓取到内容
  5. 本来想通过wireshark抓包分析,但是https貌似很难,不知道怎么处理

望解答以下问题

  1. 怎么抓取https的包进行分析?
  2. 为什么会出现上面这种有时网页内容为空的现象?
数据采集 Shell Python
分享到
取消 提交回答
全部回答(1)
  • 达世
    2019-07-17 22:44:19

    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来做跳板访问。

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题