服务接口反爬虫设计
反爬虫设计
为什么要反爬虫
- 免费查询的资源被批量抓走,丧失竞争力
- 恶意抓取信息,造成信息泄露
反什么样的爬虫
- 成型的商业对手
- 恶意爬虫
有什么反爬虫方法论
基本框架
- 对请求进行预处理,便于识别;
- 识别是否是爬虫;
- 针对识别结果,进行适当的处理;
反爬虫手段
基于身份识别进行反爬
- 爬虫默认情况下不会带上referer字段,服务器端通过判断请求发起的源头,以此判断请求是否合法, 如果没有referer字段,直接拒绝请求
- 爬虫默认情况下没有User-Agent,或者使用默认的User-Agent,识别到是爬虫的User-Agent,直接拒绝请求
- 通过检查cookies来查看发起请求的用户是否具备相应权限,以此来进行反爬
- 服务器通过弹出验证码或者短信验证强制验证用户浏览行为
基于爬虫行为进行反爬
- 后台对访问进行统计,如果单个IP访问超过阈值,予以封锁。
- 后台对访问进行统计,如果单个session访问超过阈值,予以封锁。
- 后台对访问进行统计,如果单个userAgent访问超过阈值,予以封锁。
基于数据加密进行反爬
- 通过数据图片化反爬
- 通过编码格式或者数据加密进行反爬