六安沧州西安三亚宝鸡菏泽
投稿投诉
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

了解入门爬虫技术原理看这篇就够了

  爬虫技术就是一个高效的下载系统,能够将海量的网页数据传送到本地,在本地形成互联网网页的镜像备份。本文从爬虫技术的诞生开始,为你详细解析爬虫技术原理。
  一、爬虫系统的诞生
  通用搜索引擎的处理对象是互联网网页,目前互联网网页的数量已达百亿,所以搜索引擎首先面临的问题是:如何能够设计出高效的下载系统,以将如此海量的网页数据传送到本地,在本地形成互联网网页的镜像备份。
  网络爬虫能够起到这样的作用,完成此项艰巨的任务,它是搜索引擎系统中很关键也很基础的构件。
  本文主要介绍与网络爬虫相关的技术,尽管爬虫经过几十年的发展,从整体框架上来看已经相对成熟,但随着互联网的不断发展,也面临着一些新的挑战。
  二、通用爬虫技术框架
  爬虫系统首先从互联网页面中精心选择一部分网页,以这些网页的链接地址作为种子URL,将这些种子放入待抓取URL队列中,爬虫从待抓取URL队列依次读取,并将URL通过DNS解析,把链接地址转换为网站服务器对应的IP地址。
  然后将其和网页相对路径名称交给网页下载器,网页下载器负责页面的下载。
  对于下载到本地的网页,一方面将其存储到页面库中,等待建立索引等后续处理;另一方面将下载网页的URL放入已抓取队列中,这个队列记录了爬虫系统已经下载过的网页URL,以避免系统的重复抓取。
  对于刚下载的网页,从中抽取出包含的所有链接信息,并在已下载的URL队列中进行检查,如果发现链接还没有被抓取过,则放到待抓取URL队列的末尾。在之后的抓取调度中会下载这个URL对应的网页。
  如此这般,形成循环,直到待抓取URL队列为空,这代表着爬虫系统将能够抓取的网页已经悉数抓完,此时完成了一轮完整的抓取过程。
  通用爬虫架构
  上述是一个通用爬虫的整体流程,如果从更加宏观的角度考虑,处于动态抓取过程中的爬虫和互联网所有网页之间的关系,可以概括为以下5个部分:
  已下载网页结合:爬虫已经从互联网下载到本地进行索引的网页集合。
  已过期网页结合:由于网页数量庞大,爬虫完整抓取一轮需要较长时间,在抓取过程中,很多已下载的网页可能已经更新了,从而导致过期。之所以如此,是因为互联网网页处于不断的动态变化过程中,所以易产生本地网页内容和真实互联网不一致的情况。
  待下载网页集合:处于待抓取URL队列中的网页,这些网页即将被爬虫下载。
  可知网页集合:这些网页还没有被爬虫下载,也没有出现在待抓取URL队列中,通过已经抓取的网页或者在待抓取URL队列中的网页,总是能够通过链接关系发现它们,稍晚时候会被爬虫抓取并索引。
  未知网页集合:有些网页对于爬虫是无法抓取到的,这部分网页构成了未知网页结合。事实上,这部分网页所占的比例很高。
  互联网页面划分
  从理解爬虫的角度看,对互联网网页给出如上划分有助于深入理解搜索引擎爬虫所面临的主要任务和挑战。绝大多数爬虫系统遵循上文的流程,但是并非所有的爬虫系统都如此一致。根据具体应用的不同,爬虫系统在许多方面存在差异,大体而已,可以将爬虫系统分为如下3种类型:
  1。批量型爬虫:批量型爬虫有比较明确的抓取范围和目标,当爬虫达到这个设定的目标后,即停止抓取过程。
  至于具体目标可能各异,也许是设定抓取一定数量的网页即可,也许是设定抓取的时间等,各不一样。
  2。增量型爬虫:增量型爬虫与批量型爬虫不同,会保持持续不断的抓取,对于抓取到的网页,要定期更新。
  因为互联网网页处于不断变化中,新增网页、网页被删除或者网页内容更改都很常见,而增量型爬虫需要及时反映这种变化,所以处于持续不断的抓取过程中,不是在抓取新网页,就是在更新已有网页。通用的商业搜索引擎爬虫基本都属此类。
  3。垂直型爬虫:垂直型爬虫关注特定主题内容或者属于特定行业的网页,比如对于健康网站来说,只需要从互联网页面里找到与健康相关的页面内容即可,其他行业的内容不在考虑范围。
  垂直型爬虫一个最大的特点和难点就是:如何识别网页内容是否属于指定行业或主题。
  从节省系统资源的角度来讲,不可能把所有互联网页面下载之后在进行筛选,这样会造成资源过度浪费,往往需要爬虫在抓取阶段就能够动态识别某个网址是否与主题相关,并尽量不去抓取无关页面,以达到节省资源的目的。垂直搜索网站或者垂直行业网站往往需要此种类型的爬虫。
  三、优秀爬虫的特性
  优秀爬虫的特性对于不同的应用来说,可能实现的方式各有差异,但是实用的爬虫都应该具备以下特性:
  1。高性能
  互联网的网页数量是海量的,所以爬虫的性能至关重要。这里的性能主要是指爬虫下载网页的抓取速度,常见的评价方式是以爬虫每秒能够下载的网页数量作为性能指标,单位时间能够下载的网页数量越多,爬虫的性能越高。
  要提高爬虫的性能,在设计时程序访问磁盘的操作方法及具体实现时数据结构的选择很关键,比如对于待抓取URL队列和已抓取URL队列,因为URL数量非常大,不同实现方式性能表现迥异,所以高效的数据结构对于爬虫性能影响很大。
  2。可扩展性
  即使单个爬虫的性能很高,要将所有网页都下载到本地,仍然需要相当长的时间周期,为了能够尽可能缩短抓取周期,爬虫系统应该有很好地可扩展性,即很容易通过增加抓取服务器和爬虫数量来达到此目的。
  目前实用的大型网络爬虫一定是分布式运行的,即多台服务器专做抓取。每台服务器部署多个爬虫,每个爬虫多线程运行,通过多种方式增加并发性。
  对于巨型的搜索引擎服务商来说,可能还要在全球范围、不同地域分别部署数据中心,爬虫也被分配到不同的数据中心,这样对于提高爬虫系统的整体性能是很有帮助的。
  3。健壮性
  爬虫要访问各种类型的网站服务器,可能会遇到很多种非正常情况:比如网页HTML编码不规范、被抓取服务器突然死机,甚至爬虫陷阱等。爬虫对各种异常情况能否正确处理非常重要,否则可能会不定期停止工作,这是无法忍受的。
  从另外一个角度来讲,假设爬虫程序在抓取过程中死掉,或者爬虫所在的服务器宕机,健壮的爬虫应能做到:再次启动爬虫时,能够恢复之前抓取的内容和数据结构,而不是每次都需要把所有工作完全从头做起,这也是爬虫健壮性的一种体现。
  4。友好性
  爬虫的友好性包含两方面的含义:一是保护网站的部分私密性;另一是减少被抓取网站的网络负载。爬虫抓取的对象是各类型的网站,对于网站所有者来说,有些内容并不希望被所有人搜到,所以需要设定协议,来告知爬虫哪些内容是不允许抓取的。目前有两种主流的方法可达到此目的:爬虫禁抓协议和网页禁抓标记。
  爬虫禁抓协议指的是由网站所有者生成一个指定的文件robot。txt,并放在网站服务器的根目录下,这个文件指明了网站中哪些目录下的网页是不允许爬虫抓取的。具有友好性的爬虫在抓取该网站的网页前,首先要读取robot。txt文件,对于禁止抓取的网页不进行下载。
  网页禁抓标记一般在网页的HTML代码里加入metanamerobots标记,content字段指出允许或者不允许爬虫的哪些行为。可以分为两种情形:一种是告知爬虫不要索引该网页内容,以noindex作为标记;另外一种情形是告知爬虫不要抓取网页所包含的链接,以nofollow作为标记。通过这种方式,可以达到对网页内容的一种隐私保护。
  遵循以上协议的爬虫可以被认为是友好的,这是从保护私密性的角度来考虑的;另外一种友好性则是,希望爬虫对某网站的访问造成的网路负载较低。
  爬虫一般会根据网页的链接连续获取某网站的网页,如果爬虫访问网站频率过高,会给网站服务器造成很大的访问压力,有时候甚至会影响网站的正常访问,造成类似DOS攻击的效果。
  为了减少网站的网络负载,友好性的爬虫应该在抓取策略部署时考虑每个被抓取网站的负载,在尽可能不影响爬虫性能的情况下,减少对单一站点短期内的高频访问。
  四、爬虫质量的评价标准
  如果从搜索引擎用户体验的角度考虑,对爬虫的工作效果有不同的评价标准,其中最主要的3个标准是:抓取网页的覆盖率、抓取网页时新性及抓取网页重要性。如果这3方面做得好,则搜索引擎用户体验必定好。
  对于现有的搜索引擎来说,还不存在哪个搜索引擎有能力将互联网上出现的所有网页都下载并建立索引,所有搜索引擎只能索引互联网的一部分。而所谓的抓取覆盖率指的是爬虫抓取网页的数量占互联网所有网页数量的比例,覆盖率越高,等价于搜索引擎的召回率越高,用户体验越好。
  索引网页和互联网网页对比
  抓取到本地的网页,很有可能已经发生变化,或者被删除,或者内容被更改,因为爬虫抓取完一轮需要较长的时间周期,所以抓取到的网页当中必然会有一部分是过期的数据,即不能在网页变化后第一时间反应到网页库中。所以网页库中过期的数据越少,则网页的时新性越好,这对用户体验的改善大有裨益。
  如果时新性不好,搜索到的都是过期数据,或者网页被删除,用户的内心感受可想而知。
  互联网尽管网页繁多,但是每个网页的差异性都很大,比如来自腾讯、网易新闻的网页和某个作弊网页相比,其重要性犹如天壤之别。如果搜索引擎抓取到的网页大部分是比较重要的网页,则可以说明在抓取网页重要性方面做得比较好。这方面做的越好,则越说明搜索引擎的搜索精度越高。
  通过以上3个标准的说明分析,可以将爬虫研发的目标简单描述如下:在资源有限的情况下,既然搜索引擎只能抓取互联网现存网页的一部分,那么就尽可能给选择比较重要的那部分页面来索引;对于已经抓取到的网页,尽可能快的更新内容,使得索引网页和互联网对应页面内容同步更新;在此基础上,尽可能扩大抓取范围,抓取到更多以前无法发现的网页。
  3个尽可能基本说清楚了爬虫系统为增强用户体验而奋斗的目标。
  大型商业搜索引擎为了满足3个质量标准,大都开发了多套针对性很强的爬虫系统。以Google为例,至少包含两套不同的爬虫系统:一套被称为FreshBot,主要考虑网页的时新性,对于内容更新频繁的网页,目前可以达到以秒计的更新周期;另外一套被称之为DeepCrawlBot,主要针对更新不是那么频繁的网页抓取,以天为更新周期。
  除此之外,Google投入了很大精力研发针对暗网的抓取系统,后续,有时间再说明暗网系统。
  Google的两套爬虫系统
  五、最后的总结
  阅读本文,通过了解爬虫的技术架构、爬虫的类型、优秀爬虫的特性、爬虫质量标准,相信你对爬虫系统已经有了一个初步的系统性的认识,最后将主要知识点做一个简短的纲领性总结:
  爬虫抓取网页的工作流程:选择待抓取网页,按顺序放入待抓取队列;系统依次将网页链接地址转换为IP地址,下载到本地后,按顺序进行存储和标记,避免重复下载;继续执行新一轮的抓取,周而复始。
  爬虫和互联网所有网页之间的关系:已下载网页结合、已过期网页结合、待下载网页结合、可知网页结合、未知网页结合
  爬虫类型:批量型爬虫、增量型爬虫、垂直型爬虫
  优秀爬虫的特性:高性能、可扩展性、健壮性、友好性
  爬虫质量的评价标准:抓取网页的覆盖率、抓取网页时新性及抓取网页重要性

深圳自然笔记经典读后感有感《深圳自然笔记》是一本由南兆旭著作,深圳报业集团出版社出版的平装图书,本书定价:58。00元,页数:222,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。《深……情感咨询分手挽回千万不能做这三件事很多人分手后态度都会很消极,在挽回的过程中犯下不少错误,导致两人关系变得更加糟糕。梦缘情感咨询师提醒大家,分手挽回千万不能做以下这三件事,要不然想要挽回爱情就更加困难了。……才高八斗才高八斗这则成语的意思是比喻极有才华。这个成语来源于南朝。宋。无名字《释常谈。八斗之才》,文章多,谓之八斗之才。谢灵运尝曰:天下才有一石,曹子建独占八斗,我得一斗,天下共……割错了马尾巴从前,有一个棒小伙子,名叫横山。他生来胆子就小,但就是不肯承认,还总喜欢穿着武士服装,腰挎武士刀,摆出一副耀武扬威的样子,逢人便夸耀自己如何勇敢,武功怎样高强。人们听了都信以为……恤面料有哪些选购恤必看T恤面料有哪些全棉面料这应该是市面上最常见的面料了。纯棉的面料确实是很亲肤也很透气,还非常吸汗,现在都说要环保,她也是十分环保的面料。都说纯棉面料很容易有褶皱并且没……安慰别人需要技巧转移注意力Psy525。cn一般人遇到挫折,会有两种反应:一种人会采取压抑的方式,他会把所有的不如意压抑在潜意识中,自己想办法消化。从心理健康角度来讲,这是一种不健康的方……杂文北京小景原文及鉴赏北京改装北京在前进中。1976年前,画家丁聪在写字桌的玻璃板下压了一幅画:一个小孩满脸怨气:人长大了,衣服、帽子、鞋子还是那么小,没有人管他;他在为北京画像!但那时……切糕已经明码标价了为何还是没人买大家心中国广阔的疆域,所带来的地理和气候上产生的巨大跨度,这为各大菜系的诞生提供了重要基础。每一片土壤上,都有自己独到的风味小吃,四川的钵钵鸡、云南的鲜花饼、贵州羊肉米线等等,……百度竞价托管人员必须知道的几点你知道了吗百度竞价有很多不能明说的秘密,而这些秘密则跟我们托管的百度竞价帐户消费有直接的关系。到底是什么秘密呢?我来为您解密。一、来自同行业公司之间的恶意点击百度竞价排名,企……新冠病毒疫情期中国营销传播网立足朋友圈做好营销传在当前的疫情期间,受外出购物的影响,大部分居民都在家中,获取信息的重要方式就是通过网络,移动智能手机的普及,为企业进行传播获得提供了明确的方向。中国营销传播网,移动互联网……老气吗适合黄皮吗macbrickola老气吗这不是一个老气的颜色,而是一个非常自然有气质的颜色,属于豆沙系列,只会显得有气质和温柔哦!这个色貌似这个冬天很火?我是去年当它还是个冷门……晋惠帝何不食肉糜是真的傻吗他到底是不是装傻很多人都以一句何不食肉糜,而把晋惠帝判定为一个傻子,就像用乐不思蜀来判定刘禅一样,其实都是太过于片面了,毕竟别人都不是晋惠帝,也没有生活在他的那个时代,只通过这样一件事情就决定……
秦始皇暴毙前发生了三件怪事至今无人能解开谜题中国历史上第一位皇帝秦始皇颇具传奇色彩,通过消灭六国完成了中国历史上第一次大统一,毕生追求高度集权的秦始皇没有了后顾之忧。大一统后,年近半百的秦始皇开始研究如何才能长生不老,世……李清照鹧鸪天【年代】:宋【作者】:李清照《鹧鸪天》【内容】:寒日萧萧上锁窗,梧桐应恨夜来霜。酒阑更喜团茶苦,梦断偏宜瑞脑香。秋已尽,日犹长,……妊娠糖尿病如何控制饮食牢记四点正确饮食妊娠期糖尿病应注意餐次分配为维持血糖值平稳及避免酮血症之发生,餐次的分配非常重要。因为一次进食大量食物会造成血糖快速上升,且母体空腹太久时,容易产生酮体,所以建议少量多餐……我对你的承诺永不变好久没来这个网站了,可能是学习的原因吧!一直都没来了,现在放暑假了,回来光顾一下呵呵,还别说真有回家的感觉哦!看看以前自己写的那么多,在想想现在,最起码没有白费工夫,哎好想大家……哺乳期发烧怎么退烧的食疗偏方退烧的食疗偏方:糯米葱粥:糯米100克洗淘后,加水适量煮粥,将熟时,加入葱白数根煮至熟,空腹食用。梨枣鸡蛋汤:梨1个洗净切块,红枣、生姜、冰糖适量,然后加水煮沸,最……辩机和尚和高阳公主偷情高阳公主对和尚情有独钟说起唐朝的公主,高阳公主怕是唐朝最为有名的一位公主了吧!高阳公主是唐太宗李世民的爱女,原本深受喜爱,在后来辩机和尚和高阳公主偷情事件被揭发以后,高阳公主就失去了宠爱,还备受冷落……自编相声面试甲:您好,经理(紧张)乙:(瞪了瞪他)你紧张什么甲:我我没紧张阿(更紧张)乙:你还说没紧张(生气)甲:我。我我真没紧张乙:没紧张你哆嗦什么啊,行了……霸气好听饭店名字大全今天小编就为大家盘点下2020霸气好听饭店名字大全,如今随着物质生活水平的提高,很多人都喜欢去饭店里吃饭,不仅省事,可供选择的种类也很多,还很有情调。吃永远都是一件必然的事情,……感情越亲密性欲却会越低感情好的夫妻,一定有美满的性生活。这个说法我们很常听到,但美国知名心理治疗师EstherPerel根据自己多年的经验,发现心理的亲密和生理的情欲未必这么正相关,来看看他的解释吧……治疗女性急性盆腔炎的方法治疗女性普通的治疗方法和急性盆腔炎的治疗方法是不相同,下面跟着小编一起来了解一下治疗女性急性盆腔炎的方法有哪些吧?1、支持疗法卧床休息,半卧位有利于脓液积聚于直肠子……春天养花就养它花香四溢花朵多开1、天竺葵天竺葵耐旱好养,开花就像绣球一样,可以从小开始打顶,几次后长成饱满花球状,尽可能的多发侧枝,花开成球。天竺葵的花期长,色彩鲜明,花朵多,开花一簇簇。天竺葵……平安竹和富贵竹区别平安竹属于韭矢竹矢竹属植物,最高可达1~2米左右,平安竹的竹秆比较细长,耐寒性也比富贵竹强,在我国分布的比较广泛,富贵竹竹属于假叶树科龙血树属植物,它的叶片是叶长披针形,富贵竹……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网