反爬虫兵法演绎 20 讲
DS Hunter
反爬虫专家,前某公司研发总监
4905 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 29 讲
特别放送 (1讲)
反爬虫兵法演绎 20 讲
15
15
1.0x
00:00/00:00
登录|注册

09 | 反爬虫概述(一):高收益的后端能做哪些基本的事情?

你好,我是 DS Hunter。从这一讲开始,我会给你讲一讲不同研发职能做反爬的方向和技巧。
一般来说,公司会将 Web 站点分为前端、后端两部分,也就是前后端分离。必要的时候,可能还会做 BFF。后端做反爬,是一件自然而然的事情,很多公司的反爬虫都是后端开始做的。当后端力不从心之后,才开始给前端做。前端力不从心了呢?就开始由 BFF 做了。
所以在课程中,我们也同样按照这个逻辑,先从后端开始说起。我会给你介绍下后端进行规则过滤的基本方法,并带你进入正式的 key 生成与验证斗争中,希望你能在这个过程中,真正理解后端反爬虫的作用以及成本分析逻辑。另外在这节课的最后,我还针对爬虫的计算力进攻进行了拓展,如果你有精力,也可以随着文字一起思考。
现在,我们就从后端出手的原因开始说起吧。

后端出手的原因:服务器压力

我在上面提到了,后端做反爬是一件自然而然的事情。所谓的“自然”,其实是由于服务器(也就是后端)顶不住爬虫的压力才做的。后来慢慢有经验了,才开始做一些类似“提供假信息”、“没有反爬措施的反爬虫系统”这种奇奇怪怪的封杀操作。这个时候,后端出手的原因也慢慢不再仅限于减轻服务器压力,而是开始加入商业上的博弈了。

后端反爬虫的具体做法

确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了后端反爬虫技术的原因和具体实施方法。作者指出,后端因承受爬虫压力而主动进行反爬虫研发,并介绍了四种具体做法:特征检测、key生成与验证、奇异封杀操作以及随机模块。特别强调了混合检测的重要性,并提供了实用的技术指导和建议。文章还涉及了反爬虫效果检测方法和实时在线检测与阶段离线检测的具体操作方法。此外,还探讨了计算力进攻的难以破解性。总体而言,本文内容丰富,涵盖了后端反爬虫技术的多个方面,对读者快速了解该技术具有重要参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《反爬虫兵法演绎 20 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • peter
    请教老师几个问题啊: Q1: BFF是什么? Q2: 爬虫喜欢爬哪些网站?电商网站爬虫应该喜欢爬吧。除了电商网站,一般的垂直类网站会被爬虫爬吗? 比如极客时间,会被爬虫爬吗?假如我想做一个电视节目类的网站,会被爬虫爬吗? Q3: 离线检测,具体怎么做的?一个普通的服务?还是大数据组件(比如spark)? Q4: 规则引擎,自己开发的还是有现成的框架? Q5: 生成key和验证key在不同的集群中,怎么会是同一个session? Q6: 拦截操作放在生成key那里,返回一个错误key,怎么就降低验证key集群的压力了? 客户端不管带不带key,请求都到了验证key集群,请求数量没有变少啊。

    作者回复: 问题好多,大部分在后面有讲。单说下最后一个:压力不仅看数量,也看运行逻辑。举个例子,key错误,只要判下相等就行了。规则错误,则要判定完全部规则,这两个运算量明显不一样。所以可以进行压力的转移。

    2022-02-16
    2
    1
  • leslie
    反爬系统没做好,就反而会形成了自身的漏洞。 K8流行的时代,关键point依然不习惯K8-资源隔离太差,一台实体机的多个虚拟机去实现-性能可能会更好;挂了就挂了不会影响到其它机器,docker/K8挂了就不一定只是自己挂了。 部署讲的是在稳定的基础上可以出现各种变招,单机、主备、高可用、负载均衡,不同的应用可以上不同的后台策略,技术是可以互相借鉴使用的。 关于第二个问题:Key的存储;key到底是临时存在键值库、还存在min版的文档库或者RDS里面代价也不一样,又或者key本来就是一个四不像。普通用户只管使用,不会去猜;机器则喜欢去算和猜。

    作者回复: 哈是的,存储也可以降成本。

    2022-02-16
    1
  • sqnv_geek
    真随机的salt,在验证时不是和生成时不一样了吗?那怎么验证key?
    2023-01-31归属地:广东
  • 圆桌π
    爬虫小白结合课程内容的发言💬: 1.“拦截率”下降,不代表不能反爬。 这是策略之一,数据大体上还是安全的。 拦截率下降了,那用户体验应该变好了。 而且随机跳过,对爬虫方有迷惑作用——我努力使他相信拿到了真实数据了。 2.(说实话,小白没看太懂MD5的道理) 我的大学数学学过函数的“映射”这一概念,想来这应该算是一种“加密”的手段了吧(请老师同学谅解小白的“土语”)。 3.窃以为个有优劣吧—— 一台机器,便宜,但技术要求高、容易被一锅端; 两个Doctor共享,贵,可能技术相对人均就简单一些,但容易因为共享,造成不可预测人事关系变动(eg:离职/跳槽/泄密/……)
    2022-04-18
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部