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

16 | 验证爬虫:我到底要不要百分百投入?

你好,我是 DS Hunter,反爬虫专家,又见面了。
前面,我们讲了反爬虫的前置操作,例如快速下线的保命技巧,key 生成的相关知识。那么这一讲,我们就谈谈反爬虫最终的核心诉求:验证爬虫。
实际上,在上一讲的规则引擎里面,我们已经对爬虫做了一些验证操作。但是,那里的验证只是简单的规则校验,还属于比较初级的校验。高级校验就要考虑得更多一些。
两者之间有什么不同呢?我们可以试试用不同的英文单词来区分两者。上一讲的验证,更多是 validate,而这一讲,则更多是 test or confirm。也就是说,这一讲的验证,并非单纯的校验客观上是否符合某种规定,更多的是检测、确认主观上是否是我们想要的。
那我们直接从规则组合的部分开始吧。

规则组合

相信现在的你已经知道了,规则引擎是由多个规则构成的。而这些规则较为通用,并不是针对指定场景的。因此,针对不同的场景,我们可以对规则进行组合使用。这里,我们要讨论的就是组合过程中需要注意的地方。
例如,价格页面可能会存在对商品 ID 的判定,但是通用促销页面则可能是判定用户属性,他们使用的规则会有所不同。价格页面用 A 和 B 的组合,促销页面用 B 和 C 的组合。这就像游戏中,每个装备都有自己的属性以及作用。而不同的玩家根据自己的需要,会对装备进行组合,寻找更匹配自己的“套装”。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了验证爬虫技术的核心诉求,包括规则组合、整合和翻译。作者首先以玩家组合装备为类比,介绍了不同场景需要不同的规则组合。随后,强调了职责链模式的重要性,并提出了解决规则依赖和顺序问题的方法。此外,还介绍了规则翻译的原因和实现方式,以及规则打分的概念和计算方法。文章内容深入浅出,为读者提供了对验证爬虫技术的全面了解。 此外,文章还涉及了按规则随机跳过、概率的动态调整、规则白名单等内容。作者详细讨论了按概率跳过和集群weight跳过的实现方式,并提出了概率的动态调整需要有一个配置系统。最后,作者介绍了规则白名单的应用,包括指定区域白名单和指定用户白名单。整体而言,本文内容丰富,涵盖了验证爬虫技术的多个方面,对于从事相关领域的技术人员具有一定的参考价值。

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

全部留言(1)

  • 最新
  • 精选
  • neohope
    产品经理如果提了个需求:在某 GPS 点,拉黑半径五公里的用户。这个需求是画圆,需要进行计算了,不能无脑判定经纬度了。如何让性能提升呢? 找近似解: 1、一个大圆,可以近似为多个平行的矩形,两级判断效率没问题,内存浪费也不多 2、根据位置,枚举基站,根据基站,限制IP。当然,如果条件允许,也可以根据历史数据,直接枚举IP。 3、再懒一些呢,只做乘法加法计算,不做开方运算,数据量小也能凑合 当然,其实优先要问的是,产品为啥要定义这种规则,究竟要解决的根本问题是啥,产品给出的技术方案很多时候有较大的优化空间。

    作者回复: 没错,搞清楚产品原始需求也许更重要。

    2022-03-17
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部