服务器防爬虫方案

爬虫突破方式

首先了解爬虫的突破方式:


防爬

防爬虫的基本理念:增加爬虫成本

运维层级:

  • 限制IP单位时间访问次数还有频率
  • nginx优化:增加筛选策略,基于iptables和shell脚本;自带功能httpuseragent阻塞,限制可访问user agent
  • 增加防爬脚本:nginx lua写脚本
  • robots.txt防爬(效果不大)

业务层级:

  • 增加用户访问限制,对不同的业务进行层级划分,如课程增加分段下发,完成一定比例后才能获取后续等
  • 增加关键业务访问验证功能,如课程被访问时增加验证,“请进行简单验证,以确保您确实准备好进行接下来的课程学习”
  • 增加用户层级划分,如普通用户,初级用户,中级用户,高级用户(或采用钢琴等级),设定不用的用户拥有不同的课程访问权限,变相增加爬取成本

程序层级:

  • 访问来源限制。request请求中增加参数,在解析时进行来源回溯限制等。
  • cookie限制。访问是否需要强制登录,非登录用户不可达。
  • 添加证书。非证书客户端访问非法,仅拥有证书的客户端可访问。存在限制,历史版本如何处理,是否可以强制升级等。
  • 关键性接口访问限制,如获取课程接口,模拟用户行为,制定访问策略,限制单位时间访问次数,例“您在1分钟内已经多节课程,建议您采用我们推荐的课程顺序进行学习。您也可进行评级自测,我们将给您提供更个性化的课程推荐”
  • 前后端交互数据增加动态解析。前后端动态解析方案协商,及动态解析方案。前端常见解析方案为js处理
  • 访问链接随机化。可视作动态解析的部分。
  • 服务端下发数据增加混淆因素。增加混淆代码或文本,加大解析难度。
  • 行为检测。增加用户行为模式判定,设定用户行为策略筛查。
  • 构造假数据。猥琐办法,让爬虫获取到的数据无意义。
  • 人工智能防采集。加入人工学习,采取智能防爬(专业性要求较高,实现成本高)

防爬虫的几种方法 参考(https://blog.csdn.net/h330531987/article/details/78362172


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、DDOS认识 分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助...
    封闭_e657阅读 2,131评论 0 1
  • 通过User-Agent来控制访问 无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:...
    Jacqueslim阅读 23,974评论 0 64
  • 第一章 发展背景 当今,世界无时无刻不在发生着变化。对于技术领域而言,普遍存在的一个巨大变化就是为大数据(Big ...
    00d34451b19b阅读 1,034评论 0 0
  • 你爬了吗? 要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家。 爬虫,即网络爬虫,是一种自动获取网...
    Albert新荣阅读 2,248评论 0 8
  • 第一章 发展背景 当今,世界无时无刻不在发生着变化。对于技术领域而言,普遍存在的一个巨大变化就是为大数据(Big ...
    00d34451b19b阅读 642评论 0 0