网络爬虫
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
1】网络爬虫高度可配置性。
2】网络爬虫可以解析抓到的网页里的链接
3】网络爬虫有简单的存储配置
4】网络爬虫拥有智能的根据网页更新分析功能
5】网络爬虫的效率相当的高
简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。你可以简单地想象:每个爬虫都是你的“分身”。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。你每天使用的百度,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。抢票软件,就相当于撒出去无数个分身,每一个分身都帮助你不断刷新12306 网站的火车余票。一旦发现有票,就马上拍下来,然后对你喊:土豪快来付款。大致是这样,如果想要了解爬虫的具体使用场景可以接着往下看。
像谷歌这样的搜索引擎爬虫,每隔几天对全网的网页扫一遍,供大家查阅,各个被扫的网站大都很开心。这种就被定义为“善意爬虫”。但是,像抢票软件这样的爬虫,对着12306 每秒钟恨不得撸几万次。铁总并不觉得很开心。这种就被定义为“恶意爬虫”。(注意,抢票的你觉得开心没用,被扫描的网站觉得不开心,它就是恶意的。)
所谓爬虫,如果从技术原理上讲,它就是一个高效的下载工具,能够批量将网页下载到本地,留作备份。如果结合一些其他工具和算法,就能够实现,收集同一类型的网页,重复执行同一动作等行为。简单讲,就是通过技术和算法模拟一个人在网络上的行为,像人一样点网页,像人一样下订单,只不过,相比起真人,他的效率高的异常。它的工作状态有些像蚁群,每个蚂蚁的工作任务都非常简单,但是,当一大群蚂蚁重复相同的工作的时候,就能产生超乎寻常的效果。比如说,如果你需要把全网关于某个关键词的网站全部收集汇总到一起(比如:三节课),这时,就是爬虫挨个查找所有关于三节课的信息,呈现到你的面前。
再比如说,当你想要找到12306中,某天所有北京到上海的余票,爬虫就可以帮助你不停地刷新网页,直到出现那张可以带你出发的车票。在互联网世界,所有收集信息的过程,都离不开爬虫的参与。可以这样说,没有爬虫,就没有互联网。接着再聊聊“爬虫”的善与恶爬虫也分善恶。爬虫最为广泛,也使人受益最大的应用就是搜索引擎。现在,几乎所有有一定体量的app,都会有一个搜索框,通过搜索框,你可以查找到各种你需要的信息和内容,这是爬虫对人最大的价值。同时,也是支撑起谷歌近万亿美元市值的工具之一。但是,并不会是所有的爬虫都像谷歌这样你好我好大家好,反而真的会像虫子一样惹人烦恼。
上面这张图,显示了爬虫流量的主要去向,每个色块背后,都是一个真实而又强大的利益链条。这些流量的去向,就不再充满善意,更多情况下,是生长在灰色地带。这些爬虫,或是为了一己私利,或是出于某些商业利益,对某一款app疯狂的骚扰,甚至影响了正常业务发展。这些爬虫,就是恶意的爬虫(虽然恶意,对于消费者来说可能并不是坏事,这里的恶意主要是指对被爬网站的恶意)。接下来,我们来展示一下那些恶意爬虫应用,以及这些应用都是怎么赚钱的?1)刷票软件12306常年饱受爬虫软件的骚扰。许多刷票软件,通过加价,或者要求分享转发的方式,帮助你买票,进而实现收入或者用户的增长。这个看起来并不复杂的行为,其实带给12306巨大的压力。你知道每年过年之前,12306 被点成什么样了吗?公开数据是这么说的——“最高峰时1天内页面浏览量达813.4亿次,1小时最高点击量59.3亿次,平均每秒164.8万次。”在每秒164.8万次点击背后,不仅是全国人民急切的回家之心,还有无数刷票软件带来的天量点击。你可能还记得,前两年12306上线了奇葩的验证码,需要我们在一堆图
片中,找到符合要求的一种。图片清晰度感人,要求奇葩,时不时会闹出各种各样的笑话。还有许多人在网上吐槽12306是不是故意刁难我们?
说实话,这真不是12306故意刁难我们,实在是饱受爬虫骚扰之后的无奈之举。许多人利用爬虫技术反复登录刷新,力求在新的余票出现之时,第一时间抢到票。为了尽可能避免这种情况,尽可能让真人买到票,12306才不得不上线这些奇葩的验证码。许多爬虫只有最简单的点击和收集数据的能力,并不能识别图片,绝大多数爬虫都会被拦截。但是,还是会有少部分的高阶玩家,攻破这道防线。有一种东西叫做“打码平台”,你可以了解一下。打码平台雇佣了很多叔叔阿姨,他们在电脑屏幕前不做别的事情,专门帮人识别验证码。那边抢票软件遇到了验证码,系统就会自动把这些验证码传到叔叔阿姨面前,他们手工选好之后,然后再把结果传回去。总共的过程用不了几秒时间。而且,这样的打码平台还有记忆功能。如果叔叔阿姨已经标记了某张图,那么下次这张图片再出现的时候,系统就直接判断。时间一长,12306 系统里的图片就被标记完了,机器自己都能认识,叔叔阿姨都可以坐在一边斗地主了。即使如此,还是做到了每秒164.8万次点击,如果没有这层防火墙,数量更是难以想象。你可能会问,就算用了刷票软件又如何,抢到票不就好了?且不说刷票软件带来的巨大的流量压力,需要为此多付出的服务器成本。为了防范刷票,不得不将注册和验证流程越搞越烦琐,平添无数烦恼。而且,你用抢票软件买到了票,那么,不会使用抢票软件的叔叔阿姨们又该怎么办呐?所以,这事不是你方便了就好。