简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。
你可以简单地想象:每个爬虫都是你的「分身」。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。
你每天使用的百度,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。
抢票软件,就相当于撒出去无数个分身,每一个分身都帮助你不断刷新 12306 网站的火车余票。一旦发现有票,就马上拍下来,然后对你喊:土豪快来付款。
那么,像这样的爬虫技术一旦被用来作恶有多可怕呢?
正好在上周末,一位黑客盆友御风神秘兮兮地给我发来一份《中国爬虫图鉴》,这哥们在腾讯云鼎实验室主要负责加班,顺便和同事们开发了很多黑科技。比如他们搞了一个威胁情报系统,号称能探测到全世界的「爬虫」都在做什么。
我吹着口哨打开《图鉴》,但一分钟以后,我整个人都不好了。
我看到了另一个「平行世界」:
就在我们身边的网络上,已经密密麻麻爬满了各种网络爬虫,它们善恶不同,各怀心思。而越是每个人切身利益所在的地方,就越是爬满了爬虫。
看到最后,我发现这哪里是《中国爬虫图鉴》,这分明是一份《中国焦虑图鉴》。
/>
我们今天要说的,就和这些 App 有关。
一、爬虫的「骚操作」
爬虫也分善恶。
像谷歌这样的搜索引擎爬虫,每隔几天对全网的网页扫一遍,供大家查阅,各个被扫的网站大都很开心。这种就被定义为「善意爬虫」。
但是,像抢票软件这样的爬虫,对着 12306 每秒钟恨不得撸几万次。铁总并不觉得很开心。这种就被定义为「恶意爬虫」。(注意,抢票的你觉得开心没用,被扫描的网站觉得不开心,它就是恶意的。)
给你看一张图:
/>
这张图里显示的,就是各行各业被爬「叨扰」的比例。(注意,这张图显示是全世界,不是全中国。)而每一个色块背后,都是一条真实而强大的利益链条。
接下来,中哥就给你科普一下里面的骚操作。
1、排名第一的是出行
出行行业中爬虫的占比最高(20.87%)。在出行的爬虫中,有 89.02% 的流量都是冲着 12306 去的。这不意外,全中国卖火车票的独此一家别无分号。
你还记得当年 12306 上线王珞丹和白百何的「史上最坑图片验证码」么?
/>
这些东西不是为了故意难为老老实实卖票的人的,而恰恰是为了阻止爬虫(也就是抢票软件)的点击。刚才说了,爬虫只会简单地机械点击,它不认识白百何,所以很大一部分爬虫就被挡在了门外。
你可能会说,不对啊,我现在还可以用抢票软件抢到票啊。
没错。抢票软件也不是吃素的。它们在和铁总搞「对抗」。
有一种东西叫作「打码平台」,你可以了解一下。
打码平台雇用了很多叔叔阿姨,他们在电脑屏幕前不做别的事情,专门帮人识别验证码。那边抢票软件遇到了验证码,系统就会自动把这些验证码传到叔叔阿姨面前,他们手工选好哪个是白百何哪个是王珞丹,然后再把结果传回去。总共的过程用不了几秒时间。
当然,这样的打码平台还有记忆功能。如果叔叔阿姨已经标记了这张图是「锅铲」,那么下次这张图片再出现的时候,系统就直接判断它是「锅铲」。时间一长,12306 系统里的图片就被标记完了,机器自己都能认识,叔叔阿姨都可以坐在一边斗地主了。
/>
你可能会问:为什么 12306 这么抠呢?它大方地让爬虫随意爬会死吗?
答:会死。
你知道每年过年之前,12306 被点成什么样了吗?公开数据是这么说的:「最高峰时 1 天内页面浏览量达 813.4 亿次,1 小时最高点击量 59.3 亿次,平均每秒 164.8 万次。」这还是加上验证码防护之后的数据。可想而知被拦截在外面的爬虫还有多少。
况且这里还没有讨论,被抢票软件把票抢走,对我们父母那样的不会抢票的人来说,是不是公平呢?
铁路被爬虫「点击」成这样已经够惨了,但它还有个难兄难弟,就是航空。
而航空里,被搞得最惨的不是国航,不是海航,也不是东航。而是亚航。
/>
航空类爬虫的分布比例。
很多人可能都没坐过亚洲航空。这是一家马来西亚的廉价航空公司,航线基本都是从中国各地飞往东南亚的旅游胜地,飞机上连矿泉水都得自费买,是屌丝穷 X 度假之首选。
为什么爬虫这么青睐亚航呢?因为它便宜。确切地说,因为它经常放出便宜的票。
本来,亚航的初衷只是随机放出一些便宜的票来吸引游客,但这里面黄牛党是有利可图的。
据我所知,他们是这样玩的:
技术宅黄牛党们利用爬虫,不断刷新亚航的票务接口,一旦出现便宜的票,不管三七二十一先拍下来再说。
亚航有规定,你拍下来半小时(具体时间记不清了)不付款票就自动回到票池,继续卖。但是黄牛党们在爬虫脚本里写好了精确的时间,到了半小时,一毫秒都不多,他又把票拍下来,如此循环。直到有人从黄牛党这里定了这个票,黄牛党就接着利用程序,在亚航系统里放弃这张票,然后 0.00001 秒之后,就帮你用你的名字预定了这张票。
「我是中间商,我就要赚差价!」这波骚操作,堪称完美。
2、排名第二的是社交
社交的爬虫重灾区,就是你们喜闻乐见的微博。
给你看张图:
/>
这是爬虫经常光顾的微博地址。
这里的代码其实指向了微博的一个接口。它可以用来获取某个人的微博列表、微博的状态、索引等等等等。
获得这些,能搞出什么骚操作呢?
你想想看,如果我能随心所欲地指挥一帮机器人,打开某人的微博,然后刷到某一条,然后疯狂关注、点赞或者留言,这不就是标准的僵尸粉上班儿的流程么。。。
其实,僵尸粉都只是爬虫的常规操作,更骚的来了,你都想不到还能这么操作,而且分分钟躺着赚钱: