Python 3反爬虫原理与绕过实战
上QQ阅读APP看书,第一时间看更新

本书内容

本书共10章,章节内容归纳如下。

❑ 第1章介绍了本书所涉及的大部分开发环境配置。本章无须完整阅读,在需要时查阅即可。

❑ 第2章介绍了Web网站的构成和页面渲染方面的知识。了解服务器端、客户端的组成,工作形式和通信协议,这会为我们后面的学习打下坚实的基础。

❑ 第3章简单讲述了动态网页和静态网页对爬虫造成的影响。回顾了一些爬虫方面的基本概念和知识,并对反爬虫这一概念进行了介绍和约定。

❑ 第4章以信息校验型反爬虫为主线,讲解了基于HTTP协议和WebSocket协议对客户端请求进行校验的反爬虫原理和具体实现方法,并以爬虫工程师的角度演示了绕过过程。

❑ 第5章介绍了常见的动态渲染反爬虫,深入了解其原理,并介绍了几种应对方法和多种渲染工具的基本用法。这一章通过场景假设的方式来讲解不同需求的应对方法。

❑ 第6章介绍了目前被广泛使用的文本混淆反爬虫知识,包括图片伪装、CSS偏移、SVG映射和字体反爬虫等。每个案例均以爬虫工程师的角度演示绕过过程,再剖析其原理。最后讨论了文本混淆反爬虫的通用解决方法。

❑ 第7章介绍了特征识别反爬虫,包括绕过过程和实现原理。相对其他反爬虫手段来说,特征识别反爬虫具有一定的隐蔽性。它在爬虫程序发起时对其进行识别和过滤,这能够有效地减轻服务器的压力。

❑ 第8章介绍了App数据爬取的关键和常用的反爬虫手段,包括代码混淆、参数加密和安全加固等,同时还介绍了抓包和App逆向方面的知识。

❑ 第9章是验证码相关的内容,包含市面上常见的验证码类型,例如字符验证码、计算型验证码和行为验证码。每个验证码案例均以爬虫工程师的角度演示绕过过程,再以开发者的角度演示验证码的实现过程。部分验证码的绕过用到了深度学习中的卷积神经网络和用于目标检测的YOLO算法。在最后一节中,我们对商用验证码厂商的产品进行了基本介绍和难度分析。

❑ 第10章是综合知识的介绍。首先介绍了常见的编码和加密原理,并以对应的RFC文档为基础,讲解编码、解码、加密和解密的过程。然后介绍了常见的JavaScript代码混淆知识,讲解了混淆原理和还原技巧,并动手实现了一个简单的混淆器。接着学习了前端禁止事件方面的知识,如禁止鼠标右键、禁止键盘按键等。最后通过几个案例了解了与爬虫相关的法律知识和风险点,并列出了《数据安全管理办法(征求意见稿)》中与爬虫相关的条例。