搜索引擎处理的主要对象是海量的网页抓取策略,兼顾深度的遍历策略

优采云 发布时间: 2021-08-10 23:08

  搜索引擎处理的主要对象是海量的网页抓取策略,兼顾深度的遍历策略

  搜索引擎处理的主要对象是海量网页。一方面节省带宽、计算和存储资源,另一方面利用有限的资源抓取最有价值的网页,满足用户搜索需求。搜索引擎在处理海量网页时有一定的策略。

  

  宽度(广度)优先、深度遍历策略、不重复爬取策略、大站优先策略、不完全PageRank策略、OCIP策略、合作爬取策略等主流网络爬取策略简介

  广(广)优先级和深度遍历策略

  1、采用广度优先的原因:

  重要的网页通常离torrent站点更近;万维网的深度没有我们想象的那么深,但出乎意料的宽(中文万维网的直径只有17,也就是说任意两个网页之间点击17次后就可以访问);

  宽度优先有利于多个爬虫协同爬取;

  2、Breadth 先有不利结果:

  很容易导致爬虫陷入死循环。不该爬的重复爬;应该爬的就没有机会爬了;

  3、 解决以上两个缺点的方法是深度爬取策略(Depth-First Trsversal)和非重复爬取策略

  4、 为了防止爬虫无限制的宽度优先爬行,必须限制在一定深度。当达到这个深度时,爬行停止。这个深度就是万维网的直径。当爬行停止在最大深度时,总是期望从其他*敏*感*词*站点更经济地访问那些太深的未爬取的网页。限制抓取深度会破坏无限循环的条件,即使循环发生,也会在有限次数后停止。

  5、 宽度(breadth)优先,考虑到深度的遍历策略,可以有效保证爬行过程的封闭性,即爬行过程(遍历路径)总是在相同的情况下爬取网页域名,其他域名下的网页很少。

  非重复抓取策略

  保证一个变化不大的网页只能抓取一次,避免重复抓取占用大量CPU和带宽资源,从而在有限的资源区域抓取更重要、更高质量的网页。

  Larser Site First(Larser Site First)

  通常*敏*感*词*的网站都是高质量的内容,网页的质量普遍较高。以网站为单位衡量网页的重要性是有一定依据的。对于URL队列中待抓取的网页,根据等待下载的页面数量确定下载优先级。

  部分 PageRank 策略(部分 PageRank)

  对于下载的网页(不完整网页的一个子集),将要爬取的网址队列中的网址加入,形成一个网页集合。 PageRank 是在这个集合内计算的;计算完成后,将待爬取的URL队列中的网页按照PageRank得分从高到低排序,顺序为爬虫接下来要爬取的URL列表。

  由于PageRank是全局算法,所有网页下载完成后计算结果是可靠的,但是爬虫在爬取过程中只能接触到部分网页,所以在爬取网页时不可能进行可靠的PageRank计算,因此称为不完全 PageRank 策略。

  OCIP 策略(在线页面重要性计算)

  OCIP 字面意思是“在线页面重要性计算”,它是一种改进的 PageRank 算法。在算法开始之前,每个 Internet 页面都被分配了相同的值。每当一个页面 P 被下载时,P 会将它拥有的价值平均分配给该页面收录的链接,同时清除它自己的价值。对URL队列中待抓取的网页,按照其手头的数值进行排序,数值较大的网页先下载。

  合作爬取策略(爬取加速策略)

  增加爬虫数量可以提高整体爬取速度,但需要将工作量划分到不同的网络爬虫上,保证分工明确,防止多个爬虫爬取同一个页面,浪费资源。

  通过web主机的IP地址进行分解,使得爬虫只能抓取一定地址范围内的网页

  对于中小型网站,出于经济考虑,通常在一台服务器上提供不同的web服务,这样多个域名对应一个IP段;但新浪、搜狐、网易、腾讯等大型网站通常采用负载均衡IP组技术,同一个域名对应多个IP地址。

  2.通过web域名进行分解,使得爬虫只爬取某个域名段的网页

  为不同的爬虫分配不同的域名进行爬取,一个爬虫只会爬取固定域名集合下的网页;这将确保不会重复抓取大型网站 网页,即使重复抓取也可以抓取中小型网站 接受的策略分配任务。为了捕获大的网站,分解域名的策略更合理

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线