反反爬虫技术汇总

反爬策略及反反爬技术

那些阻止爬虫爬取数据的策略称为反爬策略,通常反爬策略都有对应的手段将其破解,称之为反反爬技术。

一、Headers检测

  • 反爬策略:

    • User-Agent
    • Cookie
    • Referer
  • 反反爬技术:

    • 将User-Agent做成列表或字典,每次请求随机获取一个标识

    • 将User-Agent做成py文件导入,随机拿取

    • 使用第三方库fake_useragent,该库是在线获取随机的标识

      from fake_useragent import UserAgent
      ua = UserAgent()
      print(ua.random)
      

二、前端处理

  • 反爬策略:通过JavaScript将原本的HTML页面结构改变,从而在程序中无法匹配到需要的内容
  • 反反爬技术:
    • 通过查看网页源代码或者将其格式化查看结构,根据源码更改xpath或正则
    • 考虑IE的UserAgent,返回的数据最为标准

三、IP控制

  • 反爬策略:后台程序检测到在一定的时间内同一个IP高频率访问,从而封禁IP
  • 反反爬技术:
    • 控制爬虫速度,每爬取一个页面之后休眠一定的时间
    • 购买开放代理或私密代理
    • IP代理池随机访问反爬技术之代理IP

四、异步加载

  • 反爬策略:所谓异步加载,就是每滑动到网页底部,再次加载数据,也就是说,网页的数据并不是一次性加载出来的

    • 特点:
      • 右键 -> 查看网页源码中没有具体数据
      • 滚动鼠标滑轮或其他动作时加载
  • 反反爬技术:

    • F12打开控制台,页面动作抓取网络数据包
    • 抓取json文件URL地址
    • 控制台中 XHR :异步加载的数据包
    • XHR -> QueryStringParameters(查询参数)

五、加密查询参数

  • 反爬策略:通过JavaScript加密一些参数
  • 反反爬技术:找到JS文件,分析加密算法,然后用python来执行加密的过程,返回加密数据

六、响应处理

  • 反爬策略:通过JavaScript对响应内容做处理,从而改变结构
  • 反反爬技术:通过正则或者xpath匹配
posted @ 2019-09-17 08:59  ChanceySolo  阅读(2137)  评论(0编辑  收藏  举报