
简单来讲,爬虫就是一个探测机器,它的基本 *** 作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。
你可以简单地想象:每个爬虫都是你的「分身」。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。
你每天使用的百度,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。
抢票软件,就相当于撒出去无数个分身,每一个分身都帮助你不断刷新 12306 网站的火车余票。一旦发现有票,就马上拍下来,然后对你喊:土豪快来付款。
那么,像这样的爬虫技术一旦被用来作恶有多可怕呢?
正好在上周末,一位黑客盆友御风神秘兮兮地给我发来一份《中国爬虫图鉴》,这哥们在腾讯云鼎实验室主要负责加班,顺便和同事们开发了很多黑科技。比如他们搞了一个威胁情报系统,号称能探测到全世界的「爬虫」都在做什么。
我吹着口哨打开《图鉴》,但一分钟以后,我整个人都不好了。
我看到了另一个「平行世界」:
就在我们身边的网络上,已经密密麻麻爬满了各种网络爬虫,它们善恶不同,各怀心思。而越是每个人切身利益所在的地方,就越是爬满了爬虫。
看到最后,我发现这哪里是《中国爬虫图鉴》,这分明是一份《中国焦虑图鉴》。
我们今天要说的,就和这些 App 有关。
一、爬虫的「骚 *** 作」
爬虫也分善恶。
像谷歌这样的搜索引擎爬虫,每隔几天对全网的网页扫一遍,供大家查阅,各个被扫的网站大都很开心。这种就被定义为「善意爬虫」。
但是,像抢票软件这样的爬虫,对着 12306 每秒钟恨不得撸几万次。铁总并不觉得很开心。这种就被定义为「恶意爬虫」。(注意,抢票的你觉得开心没用,被扫描的网站觉得不开心,它就是恶意的。)
给你看一张图:
这张图里显示的,就是各行各业被爬「叨扰」的比例。(注意,这张图显示是全世界,不是全中国。)而每一个色块背后,都是一条真实而强大的利益链条。
接下来,中哥就给你科普一下里面的骚 *** 作。
1、排名第一的是出行
出行行业中爬虫的占比最高(2087%)。在出行的爬虫中,有 8902% 的流量都是冲着 12306 去的。这不意外,全中国卖火车票的独此一家别无分号。
你还记得当年 12306 上线王珞丹和白百何的「史上最坑验证码」么?
这些东西不是为了故意难为老老实实卖票的人的,而恰恰是为了阻止爬虫(也就是抢票软件)的点击。刚才说了,爬虫只会简单地机械点击,它不认识白百何,所以很大一部分爬虫就被挡在了门外。
你可能会说,不对啊,我现在还可以用抢票软件抢到票啊。
没错。抢票软件也不是吃素的。它们在和铁总搞「对抗」。
有一种东西叫作「打码平台」,你可以了解一下。
打码平台雇用了很多叔叔阿姨,他们在电脑屏幕前不做别的事情,专门帮人识别验证码。那边抢票软件遇到了验证码,系统就会自动把这些验证码传到叔叔阿姨面前,他们手工选好哪个是白百何哪个是王珞丹,然后再把结果传回去。总共的过程用不了几秒时间。
当然,这样的打码平台还有记忆功能。如果叔叔阿姨已经标记了这张图是「锅铲」,那么下次这张再出现的时候,系统就直接判断它是「锅铲」。时间一长,12306 系统里的就被标记完了,机器自己都能认识,叔叔阿姨都可以坐在一边斗地主了。
你可能会问:为什么 12306 这么抠呢?它大方地让爬虫随意爬会死吗?
答:会死。
你知道每年过年之前,12306 被点成什么样了吗?公开数据是这么说的:「最高峰时 1 天内页面浏览量达 8134 亿次,1 小时最高点击量 593 亿次,平均每秒 1648 万次。」这还是加上验证码防护之后的数据。可想而知被拦截在外面的爬虫还有多少。
况且这里还没有讨论,被抢票软件把票抢走,对我们父母那样的不会抢票的人来说,是不是公平呢?
铁路被爬虫「点击」成这样已经够惨了,但它还有个难兄难弟,就是航空。
而航空里,被搞得最惨的不是国航,不是海航,也不是东航。而是亚航。
航空类爬虫的分布比例。
很多人可能都没坐过亚洲航空。这是一家马来西亚的廉价航空公司,航线基本都是从中国各地飞往东南亚的旅游胜地,飞机上连矿泉水都得自费买,是屌丝穷 X 度假之首选。
为什么爬虫这么青睐亚航呢?因为它便宜。确切地说,因为它经常放出便宜的票。
本来,亚航的初衷只是随机放出一些便宜的票来吸引游客,但这里面黄牛党是有利可图的。
据我所知,他们是这样玩的:
技术宅黄牛党们利用爬虫,不断刷新亚航的票务接口,一旦出现便宜的票,不管三七二十一先拍下来再说。
亚航有规定,你拍下来半小时(具体时间记不清了)不付款票就自动回到票池,继续卖。但是黄牛党们在爬虫脚本里写好了精确的时间,到了半小时,一毫秒都不多,他又把票拍下来,如此循环。直到有人从黄牛党这里定了这个票,黄牛党就接着利用程序,在亚航系统里放弃这张票,然后 000001 秒之后,就帮你用你的名字预定了这张票。
「我是中间商,我就要赚差价!」这波骚 *** 作,堪称完美。
2、排名第二的是社交
社交的爬虫重灾区,就是你们喜闻乐见的微博。
给你看张图:
这是爬虫经常光顾的微博地址。
应对反爬策略的方法:1、模拟正常用户。反爬虫机制还会利用检测用户的行为来判断,例如Cookies来判断是不是有效的用户。
2、动态页面限制。有时候发现抓取的信息内容空白,这是因为这个网站的信息是通过用户的XHR动态返回内容信息。解决这种问题就要爬虫程序对网站进行分析,找到内容信息并抓取,才能获取内容。
3、降低IP访问频率。有时候平台为了阻止频繁访问,会设置IP在规定时间内的访问次数,超过次数就会禁止访问。所以绕过反爬虫机制可以降低爬虫的访问频率,还可以用IPIDEA代理IP换IP解决限制。
可以用八爪鱼采集器。
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:
(1)不同领域、不同背景的用户往往具有不同的检索目的和需求,通过搜索引擎所返回的结果包含大量用户不关心的网页。
(2)通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。
(3)万维网数据形式的丰富和网络技术的不断发展,、数据库、音频、视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。
(4)通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。
基于>
基于API接口的数据采集:许多网站提供API接口来提供数据访问服务,网络爬虫可以通过调用API接口获取数据。与直接采集Web页面相比,通过API接口获取数据更为高效和稳定。
基于无头浏览器的数据采集:无头浏览器是一种无界面的浏览器,它可以模拟用户在浏览器中的行为,包括页面加载、点击事件等。网络爬虫可以使用无头浏览器来模拟用户在Web页面中的 *** 作,以获取数据。
基于文本分析的数据采集:有些数据存在于文本中,网络爬虫可以使用自然语言处理技术来分析文本数据,提取出需要的信息。例如,网络爬虫可以使用文本分类、实体识别等技术来分析新闻文章,提取出其中的关键信息。
基于机器学习的数据采集:对于一些复杂的数据采集任务,网络爬虫可以使用机器学习技术来构建模型,自动识别和采集目标数据。例如,可以使用机器学习模型来识别中的物体或文字,或者使用自然语言处理模型来提取文本信息。
总之,网络爬虫的数据采集方法多种多样,不同的采集任务需要选择不同的方法来实现。
1、批量型的网络爬虫
这种类型是针对用户有着明确的抓取范围和目标,当达到既定的目标之后,抓取工作就会停止。这个目标可以是抓取的时间,也可以是抓取的数量等 。
2、增量式网络爬虫
这种爬虫类型不同于批量型爬虫,没有固定的限制,且需要程序持续不断的运行,对于抓取到的数据定期的更新。它针对的是网页在不断变化的,增量式爬虫只需要抓取新产生或者发生新变化的网页,他不会重复的抓取没有变化的网页,这样可以缩减时间和存储空间,当然这种爬虫程序运行起来是相对有难度的。
3、通用爬虫
通用网络爬虫也叫作全网爬虫,它是搜索引擎抓取系统的重要组成部分。主要为门户 网站站点搜索引擎和大型 Web 服务提供商采集网络数据。这类网络爬虫的爬行范畴和数量比较大,所以对于爬取速度和存储空间的要求很高。
4、聚焦网络爬虫
聚焦网络爬虫是指有针对性的爬取,和通用网络爬虫相比对于硬件的要求有所降低,而且所抓取的数据垂直性更高,可以满足特定人群的需求。
12306网站。IT之家2020年1月6日消息媒体报道称,称“12306是中国爬虫光顾最多的网站”,据不完全统计,12306网站浏览量最高达813亿次,平均每秒165万次,而出行是爬虫散布最多的,其中有8902%流量是冲着12306去的。所以是12306网站。网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
以上就是关于网络爬虫是什么具体要学哪些内容全部的内容,包括:网络爬虫是什么具体要学哪些内容、如何应对网站反爬虫策略如何高效地爬大量数据、好用的爬虫抓取软件有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)