网站防爬虫处理方法.md 2.26 KB

网站防爬虫处理方法

概述

主要涉及两个方面,爬虫的识别,爬虫的处理

识别爬虫的条件

同源IP,访问频次

  1. 在短时间大量的访问
  2. 访问页面的间隔时间有规律

http 报文头,use-agent,判断爬虫特征识别

  1. 非正常的浏览器的use-agent头信息
  2. 识别爬虫常用服务端浏览器的特征信息:PhantomJsselenium

http 报文头,cookies信息的识别

  1. 在页面里种入一定规则的cookies指纹信息,服务端做校验
  2. 校验指纹信息校验

判断浏览器内部对象

  1. 页面加入浏览器内隐藏的链接,如果有爬虫访问,既可以识别
  2. 判断浏览器插件信息:navigator.plugins,如果没有插件信息,表明是服务端的无界面浏览器

请求用户行为分析

  1. 访问页面的行为,如果是连续打开统一类型的页面,且Referer是空的,或者来源页面内没有该链接
  2. 访问的页面是不连贯,无法refer进行追踪
  3. 爬虫定时发起任务,同一IP访问时间固定
  4. 重复的页面类型访问
  5. 访问页面时,没有触发当前页面的Ajax调用

敏感信息,动态获取

  1. 商品价格,SKC信息ajax获取展示
  2. 库存信息不展示

爬虫处理

如果识别出该用户是爬虫,页面跳转到一个图形识别码页面,提交非爬虫的请求。

  • 爬虫识别和记录过程

用户访问 ----> 上报用户行为信息 ---->爬虫识别模块 ---> 加入爬虫黑名单

  • 爬虫处理过程

用户访问---cookies指纹---> 查询爬虫黑名单 --是-->展现图形验证码 ​ \ 否-->正常显示网页

参考文章:

Python爬虫防封杀方法集合

如何识别PhantomJs爬虫

selenium爬虫被检测到 该如何破?

常见的反爬虫和应对方法

爬虫突破封禁的6种常见方法