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

爬虫与反爬虫的斗争从未停止。 反爬虫程序员一直在与爬虫程序员做斗争~ 那么,大家都见过什么有趣的反爬虫手段呢? 或者从反爬虫的角度来想,怎样的手段才能…
关注者
4,995
被浏览
1,073,169

139 个回答

说一个关于网易云音乐的把

对付一些小白是可以的,因为他们主体页面是异步加载嵌套在iframe里面的,并且 src="about:blank"



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~割


看了@ peng yang 兄弟的问题,说一下去哪儿的该怎么爬

  • 选择去哪儿的m站去哪儿网--聪明你的旅行
  • 同样的操作,然后你会发现一个问题,就是页面展示的数字和html文件里的数字不一致

1240的价格在html里竟然是4230

  • 根据css你会发现他们用了一个字体,打开你就发现了一件事

正常字体是0123456789,在去哪儿官方的字体里被替换成了图片里的

然后你根据这个做一些对应解析,就可以爬出正确的数据了。


PS:PC端就算了


~~~~~~~~~~~~~

现在很多页面的内容都是采用ajax异步加载进来的,所以可以研究一下框架selenium,网易云音乐和去哪儿都可以利用这个框架爬取数据

类似的还有携程的数据,但是携程的PC端的命中率没有m站高。

噗,看到其他答主的反爬虫案例,操作之骚,直叫人灵魂出窍!

比如这个携程的例子,代码的字里行间,穿插着程序猿的“反洗脑”心声:

“老板一定和你说我们还在亏损对不对?”
“等我们达到了XX目标,让你们变土豪”
“你相信了吗”
“呵呵呵呵呵”
“年轻真好”
“骗”
……

见:@无痕 有哪些有趣的反爬虫手段? - 无痕的回答 - 知乎

还有脾气暴躁的IT桔子,在判别出爬虫后,会返回“F**k you!Spider”,令人震撼!

见: @何明科 有哪些有趣的反爬虫手段? - 何明科的回答 - 知乎

————

人邮君不才,也贡献一些好玩的案例,并附上知识点~

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

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

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

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

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

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

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

见: @杨芃 有哪些有趣的反爬虫手段? - 杨芃的回答 - 知乎

  • SVG映射反爬虫

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

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

举个大众点评网的例子。

打开浏览器并访问:dianping.com/shop/14741

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

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

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

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

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

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

————

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

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

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

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

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

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

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

干货满满,推荐给大家。

========

赠人玫瑰,手留余香,不要忘记点赞、收藏、关注@人民邮电出版社 哦~