龙空技术网

有哪些有趣的爬虫与反爬虫手段?

人民邮电出版社 1622

前言:

今天同学们对“网站反爬虫机制”大致比较关切,你们都想要分析一些“网站反爬虫机制”的相关资讯。那么小编也在网络上收集了一些关于“网站反爬虫机制””的相关资讯,希望姐妹们能喜欢,各位老铁们一起来学习一下吧!

一般而言,从特点上对反爬虫手段进行细分,可以有信息校验型反爬虫、动态渲染型反爬虫、文本混淆型反爬虫、特征识别型反爬虫,等等。

其中,文本混淆反爬虫最为有趣。

知识点植入:文本混淆可以有效地避免爬虫获取Web应用中重要的文字数据。反爬虫的前提是不能影响用户正常浏览网页和阅读文字内容,直接混淆文本很容易被看出来,开发者通常是利用CSS的特性来实现混淆。

找几个常见的文本混淆手段给大家康康。

CSS偏移反爬虫

CSS偏移反爬虫指的是利用CSS样式将乱序的文字,排版为人类正常阅读的顺序。

比如,去哪儿网的航班查询……

你以为所爬即所见?Too young too naive!

SVG映射反爬虫

SVG是用于描述二维矢量图形的一种图形格式。

由于SVG中的图形代表的也是一个个文字,所以在使用时必须在后端或者前端将真实的文字与对应的SVG图形进行映射和替换,因此,这种反爬虫手段被称为SVG映射反爬虫。

举个大众点评网的例子。

打开浏览器并访问:

我们可以看一看商家电话或评分的 HTML 代码。

嘿嘿嘿,<d>标签占位警告!Surprise~

大众点评中的商家号码并不是全部使用<d>标签代替,其中有部分使用了数字。但是仔细观察一下就可以发现商家号码的数量等于<d>标签数量加上数字的数量,说明<d>标签的class 属性值与数字也有可能是一一对应的映射关系。

继续往下看,大众点评的商家营业时间部分的 HTML 代码。

原来,除了数字映射之外,还对中文进行了映射!这就给爬虫造成了很大的难度。

面对这样的问题,爬虫工程师必须找到文字映射规律,并且能够实现映射算法才能绕过这种反爬手段哦!

————

爬虫技术和反爬虫技术在不断斗争的过程中变得越来越高深与复杂,从简单的 User-Agent 识别到混淆验证码加密,“花样”越来越多,破解难度也越来越大。

想知道这些反爬虫手段怎么绕过吗?更多爬虫与反爬虫技术请见《Python3反爬虫原理与绕过实战》。以上文本混淆反爬虫的案例,都出自这本书~

作者:韦世东

Python 3反爬虫原理大揭秘,常见爬虫手段大集合帮你从0到1理清爬虫与反爬虫的红蓝对抗

这本书对爬虫技术与反爬虫技术的对抗过程进行了深入的研究,并详细介绍了其中的原理和具体实现方法。

最重要的是,作者针对各类反爬虫给出了对应的绕过和破解方案!

书中还提到了浏览器的基本结构、网页渲染原理、加密和混淆规范,还有很多 RFC 文档。无论是开发者还是爬虫工程师,熟读常见的 RFC 文档对工作会有很大的帮助。

对于反爬虫工程师来说,动手实践很重要。这本书特别为读者准备了一个练习平台,其中包含 21 个示例,练习平台上的示例均为本书作者编写,且与本书示例一一对应。因此,示例内容不会改动,并且无须担心相关的法律问题,这保证了大家的学习能顺利进行。

干货满满,推荐给大家。

标签: #网站反爬虫机制 #web反爬虫 #反爬虫机制是什么意思