«

常用的反爬手段

时间:2023-2-28 23:28     作者:wen     分类: Python


一、服务器反爬的原因

  1. 爬虫占总PV(PV是指页面的访问次数,每打开或刷新一次页面,就算做一个PV)比例较高,这样浪费钱。
  2. 公司可免费查询的资源被批量抓走,丧失竞争力,这样少赚钱。
  3. 状告爬虫成功的几率小

二、反爬的三个方向

  1. 基于身份识别进行反爬
  2. 基于爬虫行为进行反爬
  3. 基于数据加密进行反爬

常见基于身份识别进行反爬

  1. 通过headers字段中的User-Agent字段来反爬
  2. 通过referer字段或者其他字段来反爬
  3. 通过cookie来反爬

通过请求参数来反爬

  1. 通过从html静态文件中获取请求数据
  2. 通过发送请求获取请求数据
  3. 通过js生成请求参数
  4. 通过验证码来反爬

通过基于爬虫行为进行反爬

  1. 基于请求频率或总请求数量

    • 通过请求IP/账号单位时间内总请求数量进行反爬
    • 通过同一IP/账号请求之间的时间间隔进行反爬
    • 通过同一IP/账号每天请求次数设置阈值进行反爬
  2. 根据爬取行为进行反爬,通常在爬取步骤上做分析

    • 通过js实现跳转反爬
    • 通过蜜罐(陷阱)获取爬虫ip(或者代理IP),进行反爬
    • 通过假数据反爬
    • 阻塞任务列队
    • 阻塞网络IO
    • 运维平台综合审计
      通过基于数据加密进行反爬
  3. 通过自定义字体来反爬,比如猫眼电影电脑版的用户评分

  4. 通过css来反爬 ,比如去哪儿的价格

  5. 通过js动态生成数据进行反爬

  6. 通过数据图片化反爬

  7. 通过编码格式进行反爬

标签: 爬虫