文|史中
来源丨浅黑科技(ID:qianheikeji)
来不及了,快上车。上车前,中哥先问你三个问题:

你以为你在大众点评上找到的馆子,真的是几百个人给了好评,然后才涌如今你的推举里的吗?
你以为你在百度上搜索到的信息,真的是百度想让你看到的吗?(把稳体会这句话的意思,不这天常黑百度)
你以为在微博上看到的热搜话题大V互动,真的都是真实发生的吗?
好,确认过眼神,我们准备发车了。
最近北京下暴雨,人们寸步难行。
我和幺哥坐在 床 窗边喝茶,他看着窗外的阴霾,遐想起了酸楚往事。
每年总有那么几天,幺哥会心情焦虑,坐立不安,腰膝乏力,湿身盗汗。那是由于,他又要准备抢回家的火车票了。
幺哥家在湖南,离北京上千公里。他是家里的独子,每年买到火车票定时涌如今家门口是他的“责任”。
这两年,他的救命稻草是一个叫做“智行火车票”的抢票软件。他在打折的时候买了会员。听说会员是有特权的:哪怕只抢到一张票,都会优先给他。(最少幺哥是这样安慰自己的。)
从技能上说,幺哥的救命稻草不是抢票软件,而是抢票软件背后,无数个叫做“爬虫”的东西。
说到这,中哥就得给你先容本日的新朋友:爬虫。
等等,图片错了,该当是这样的爬虫:
爬虫便是一个探测机器,它的基本操作便是仿照人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。
你可以大略地想象:每个爬虫都是你的“分身”。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。
你每天利用的百度,实在便是利用了这种爬虫技能:每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。
抢票软件,就相称于撒出去无数个分身,每一个分身都帮助你不断刷新 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、排名第二的是社交
社交的爬虫重灾区,便是你们喜闻乐见的微博。给你看张图:
这是爬虫常常光顾的微博地址。
这里的代码实在指向了微博的一个接口。它可以用来获取某个人的微博列表、微博的状态、索引等等等等。
得到这些,能搞出什么骚操作呢?
你想想看,如果我能为所欲为地指挥一帮机器人,打开某人的微博,然后刷到某一条,然后猖獗关注、点赞或者留言,这不便是标准的僵尸粉上班儿的流程么。。。
实在,僵尸粉都只是爬虫的常规操作,更骚的来了:
1、我是一个***甲,我的微博没人关注,我用大量的爬虫,给自己做了十万人的僵尸粉,一群僵尸在我的微博下面点赞评论,不亦乐乎。
2、我去找一个游戏厂商,跟他说:你看我有这么多粉丝,你在我这投广告吧。我帮你发一条游戏的注册链接,每有一个人通过我的链接注册了游戏,你就给我一毛钱。广告主说,不错,就这么办。
3、我发出注册链接,然后没人点。。。
4、不慌,我让十万爬虫连续前赴后继地点击注册链接,然后自动去完成注册动作。
5、我躺在床上,数着赚来的一万块钱。
(以上数据不一定和现实吻合,只是展现一个逻辑。详细操作也会更繁芜。)
还有更骚的么?有的。你家爱豆不是常常在微博上发红包么?好的,我率十万僵尸粉去抢。
凭本事抢来的红包,就问你有什么欠妥吗?
3、排名第三的是电商
你回顾一下,有几种东西叫做“比价平台”“聚合电商”和“返利平台”。他们大体都是一个事理:
你搜索一样商品,这类聚合平台就会自动把各个电商的商品都放在你面前供你选择。有淘宝、京东,还有唯品会苏宁易购。
这便是爬虫的功劳。它们去淘宝上,把胖次袜子杜蕾斯的图片和价格统统扒下来,然后在自己这里展示。
这个事理和谷歌差不多。只不过他们展示的不是网页而是商品。但是被放在一起比价,淘宝是谢绝的,京东也是谢绝的啊。。。
然鹅,由于机器爬虫仿照的是人的点击,电商很难阻挡这类事情发生。他们乃至都不能向12306学习。你想想看,如果你每点开一个商品详情,淘宝都让你先分辨一次白百何和王珞丹,你肯定没心情剁手,没准还要提刀去剁马云呢。。。
当然,电商对抗爬虫有其余的方法,那便是“web 运用防火墙”,简称 WAF。这个我们后面再单独说。
说到这,有童鞋会有个疑问:
那些聚合平台,自己写爬虫,然后帮助淘宝京东卖货,他们的名字叫雷锋么?
醒醒啊同学,雷锋叔叔已经走了很多年了。我随便给你说一下这种聚合电商平台的盈利模式:
1、假设几家店铺都卖杜蕾斯,但是用户在我这里搜索“杜蕾斯”的时候,我是有权利决定谁的店铺在前面谁在后面的啊。谁给的钱多,我就让谁在搜索的前面呗。@百度君,你说说是不是这个道理?
(把稳,每个店铺和淘宝平台可不是同等行动人。淘宝平台不肯望自己的内容被聚合平台抓取,但每个店铺可是很乐意多一个渠道帮他们卖货的。)
2、如果你以为搞竞价排名良心会痛,也可以用更大略的办法——在网页上展示独立的广告。访问你网站的用户,看到页面上的广告,也有可能会点击。每点击一次,你就赚一次钱。
3、你还可以作为中间商,收点中介费。我帮你店家卖货了,你是不是要给我意思意思。除了给我意思意思,你还得给来买东西的用户意思意思。这种套路,便是“返利网”这类平台的玩法。
图片来源全景网
4、接下来是 O2O 和搜索引擎
你还记得上车之前,我问了你一个问题吗?你在大众点评上看到的信息,真是吃货们点评的吗?
答:大部分时候是,但有时候不是。
这里面的影响成分还是爬虫。御风见告我,这些爬虫很可能被用来做两件事:
1、大众点评毕竟是最好的点评网站。很多网站都会爬取大众点评的数据,用来丰富自己的信息。
2、很多刚上点评的商户,信誉值不高,可以用爬虫来仿照留言、点赞,刷高自己的信誉值。
以是,理论上讲一旦大众点评对这些爬虫对抗涌现松懈,就会有一些不三不四的店铺被“刷”到顶部。而与之相似的,是爬虫针对搜索引擎的进攻。
你可能理解,搜索引擎决定哪个网页排名靠前,(除了广告以外)紧张一个指标便是看哪个搜索结果被人点击的次数更多。
既然这样,那么我就派出爬虫,搜索某个特定的“关键词”,然后在结果里冒死地点击某个链接,那么这个网站在搜索引擎的权重里自然就会上升。这个过程就叫做 SEO(搜索引擎优化)。
举个例子:我随意搜索一个关键词。
它排在前面的网址,有可能便是经由 SEO 的。作为任何一个搜索引擎,都肯定不许可外人对付自己的搜索结果动手动脚,否则就会损失公立性。它们会通过不定期调度算法来对抗 SEO。
尤其是很多赌钱、黄色网站,搜索引擎如果敢收广告费让他们排到前面,那就离倒闭不远了。以是黄赌毒网站只能利用玄色 SEO,强行把自己刷到前面。
直到被搜索引擎创造,赶紧对它们“降权”处理。不过御风算了算,这些黄色网站如果能把自己刷到前几位一两个小时,赚来的钱就远远超过 SEO 的用度。
5、末了再说说官方部门
你看这张图,全是爬虫针对政府信息的爬取。
第二名,北京市预约登记同一平台。这个锅,板上钉钉要号贩子来背。
其他的,例如法院公告、信用中国、信用安徽,为什么爬虫要爬这些信息呢?
由于有些信息,是只有政府部门才节制的。
比如,谁被告过,哪家公司曾经被行政惩罚,哪个人曾经进入了失落信名单。这些信息综合起来,可以用来做一个公司或者个人的信誉记录。
我试着打开了一下排名第四位的“信用中国”。
在这个平台上,你只要输入一个***号或者手机号,就可以查询到一个人的信用情形。拉到最底下一看,这个网站果真是是根红苗正的。
如果一家公司要对外做信誉库的做事,它必须先把信用中国的信息***到自己的库里,然后才能和其他数据进行综合运算。
如此,信用中国被爬,也就很随意马虎阐明了。不过刚才那张表格里,排名第七的是四川住建厅。这又是什么骚操作?
根据御风的推测,这很可能是某些公司供应的一项“分外做事”:
他们把四川省各个地区的招标情形汇总起来,然后实时提醒那些房地产公司:别睡了,起来投标了。
二、爬虫战役
说了这么多,我猜你会有几个疑问。
问题 1、爬虫搞出这么多姿势,它究竟是不是违法呢?
这个问题还真的不大略。
我打开中国网安第一大法《网络安全法》仔细看了半小时,在里面没有创造“爬取网络公开信息被认定为违法”的条款。于是我又连续搜索,创造了几条法律阐明:
未经授权爬取用户手机通讯录超过50条记录;未经授权抓取用户淘宝交易记录超过500条;未经授权读取用户运营商网站通话记录超过500条;未经授权读取用户公积金社保记录的超过50000条的。以上这些情形可以入刑。
但是仔细看看,如果我只是用机器代替了人的手点击鼠标敲击键盘,打仗的都是公开信息,并不触犯这些法律阐明。(这只是我大略查询后的结果,不代表任何官方见地)
但是,对企业来说,爬虫却其实侵害了自己。有句话说:“主救自救者。”他们得组织“民兵”自己保卫自己。
问题 2、爬虫战役谁会赢?
爬虫和被爬企业越来越势不两立。说白了,他们的对抗都是在阻挡对方的财路。以是下手都挺重。
企业经典的对抗办法,大概有几种:图片验证码、滑块验证、封禁 IP、给访问者增加一些加解密运算,耗费爬虫的程序资源等等。。。
这张图来自极验验证的滑块验证技能
除了刚才这些小模块,企业还可以通过 WAF(Web 运用防火墙)来防护,WAF 的功能便是通过设置一些规则,拦截掉那些不符合规则的要求。
但是,爬虫的要求,和真人的要求真的太像了。
我以为,对这种战役一个形象的比喻便是抗癌。癌细胞的目的便是冒死躲过免疫细胞的识别,而免疫细胞的目标便是冒死分辨哪个是好细胞哪个是癌细胞。
在我看来,这场对抗爬虫的常规战眼看就要升级为“智能战”,而且战线会向云端转移。
比如腾讯云的 WAF,听说最近就要通过人工智能的方法来识别爬虫。这里就不帮他们打广告了。还有很多其他的云安全厂商,也开始主推反爬虫的技能。
不过,就像人类目前难以消灭癌症一样,企业也难以完备消灭爬虫。但是我相信,在对抗中这条战线会达到一个精妙的平衡。这个战线每向前推进一步,都须要安全研究员付出艰辛的努力。
三、《中国焦虑图鉴》
末了,中哥帮你搞到了一张秘密表格。这是被监测到的受爬虫侵扰最多的 Top50。(采样数据,仅供参考)
这张表里,除了google、Youtube、ask、亚洲航空这四家企业之外,该当全是中国企业(或机关)。正是从这些名字背后,我体会到了很多人的酸楚和焦虑。
爬虫是趋利的,它们永久会向有利益的地方爬行。而爬虫以为有利益的地方,每每是我们不忍提及的隐痛。你看,排名第1的“中国铁路路客户做事中央”
无数像幺哥一样的游子,他们奋斗在一个阔别家乡的城市,为了让家人有更幸福的生活。正是他们难以买到过年回家车票的事实,才把 12306 推上了爬虫榜的第一名。你看,排名第8的“最高公民法院公告查询”
在中国,我们的信用体系还很不完善,骗子和老赖还可以连续蒙骗新人。以是才催生了爬虫网络法院公告,形成民间信用记录的做事。你看,排名第15的“北京市预约登记统一平台”
我们的医疗改革在进行,又便宜又好的医疗资源须要争夺,这才有了“一号难求”的现实,才有了黄牛用爬虫冒死抢号的征象。
自不用说那些神坑的虚假广告,冲榜刷量,背后都有爬虫的影子。有人说技能有罪,有人说技能无罪。
我不知道技能是否有罪,我只知道,这些盘踞在我们广袤版图上数以十亿计的爬虫,无时无刻不在提醒着我们:
抱怨不会让这个天下变得更好,你想生活在一个若何的天下,就要用自己的双手去创造它。(本文仅代表作者不雅观点)
编辑:魏帆
演习编辑:施婷婷
如果可能、那就走在时期的前面
如果不能、那就同时期一起提高
但决不要落在时期的后面
——布留索夫