搜索引擎爬虫网页抓取策略

搜索引擎抓取网页,是由专用的服务器派出蜘蛛进行抓取。为了解决有限的带宽、计算和存储资源和海量的网页资源的矛盾,更为了利用有限的资源抓取到最有价值的网页...
    搜索引擎抓取网页,是由专用的服务器派出蜘蛛进行抓取。为了解决有限的带宽、计算和存储资源和海量的网页资源的矛盾,更为了利用有限的资源抓取到最有价值的网页以满足用户搜索需求,搜索引擎在处理海量网页的时候会有一定的策略性。利用这些策略,站长们可以将特定网页优先推荐给搜索引擎,获得更多的展现机会。

   一、宽度(广度)优先、兼顾深度的遍历策略

   1、采用广度优先的原因:重要的网页往往离种子站点距离较近;万维网的深度没有我们想象的那么深,但却出乎意料地宽(中文万维网直径长度只有17,即任意两个网页之间点击17次后便可以访问到),有利于多爬虫合作抓取;

   2、广度优先并非完美,容易导致爬虫陷入死循环,不该抓取的反复抓取,应该抓取的没机会抓取;

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

   4、为了防止爬虫无限制地宽度优先抓取,必须在某个深度上进行限制,达到这个深度后停止抓取,这个深度就是万维网的直径长度。当最大深度上停止抓取时,那些深度过大的未抓取网页,总是期望可以从其他种子站点更加经济地到达。限制抓取深度会破坏死循环的条件,即使出现循环也会在有限次后停止。
5、评价:宽度(广度)优先、兼顾深度的遍历策略,可以有效保证抓取过程中的封闭性,即在抓取过程(遍历路径)中总是抓取相同域名下的网页,而很少出现其他域名下的网页。

   二、不重复抓取策略

   保证一个变化不大的网页只抓取一次即可,防止重复抓取占用大量CPU和带宽资源,从而集中有限的资源区抓取更重要、质量更高的网页。通过sitemap文件设置,可以向搜索引擎提交特定网页的更新时间,方便搜索引擎立刻抓取最近更新内容。

   三、大站优先策略(Larser Site First)

   通常大型网站都是优质的内容,网页质量一般较高,以网站为单位来衡量网页重要性有一定的依据。对于待抓取URL队列中的网页,根据等待下载的页面多少来判断下载优先级。做好索引页面优化,大量更新高质量内容,就能吸引搜索引擎的关注。

   四、非完全PageRank策略(Partial PageRank)

   对于已经下载的网页(不完整的互联网页面的子集)内,加上待抓取的URL队列中的URL一起,形成网页集合,在此集合内部进行PageRank计算;计算完成以后,将待抓取URL队列里的网页按照PageRank得分由高到低排序,形成序列就是爬虫接下来应该依次抓取的URL列表。

   由于PageRank是一个全局算法,就是当所有网页都被下载完成以后,其计算结果才是可靠的,但是爬虫在抓取过程中只能接触到一部分网页,所以在抓取阶段的网页时无法进行可靠的PageRank计算的,所以叫做非完全PageRank策略。针对这一策略,祈雨其雨的作者页面才会设计成现在这样,就是为了方便搜索引擎只通过一两个网页就能访问到所有文章页面。

   五、OCIP策略(Online Page Importance Computation)

   OCIP字面含义为“在线页面重要性计算”,算是一种改进的PageRank算法。算法开始前,每个互联网页面被赋予相同的数值,每当下载了某个页面P 后,P将自己拥有的数值平均分配给页面中包含的链接,同时清空自己的数值。对于待抓取URL队列中的网页,根据其手头数值大小排序,优先下载数值较大的网页。请设置好sitemap文件中各个网页的优先级。

   六、合作抓取策略(抓取提速策略)

   增加爬虫数量可以提高总体抓取速度,但需要将工作量分解给不同的网页爬虫,以保证分工明确,防止出现多个爬虫抓取相同的页面,浪费资源。

   1、通过web主机的IP地址来分解,让某个爬虫仅抓取某个地址段的网页

对于中小型网站,出于经济的考虑,通常会在一台服务器中提供不同的web服务,这样就出现多个域名对应一个IP段的情况;但新浪、搜狐等大型网站通常采用负载均衡的IP组技术,同样的域名对应多个IP地址。所以这种方式并不方便。

   2、通过网页域名来分解,使某个爬虫仅抓取某个域名段的网页

   将不同域名分配给不同爬虫抓取,某一个爬虫只抓取固定域名集合下的网页;这样保证不重复抓取大型网站的网页,中小型网站即便重复抓取也可以接受的策略分配任务。所以,为了抓取大网站,按照域名分解的策略更加合理。

来源:丰胸产品排行榜http://www.fengxiong139.com
#爬虫 #抓取 #策略 #搜索引擎 #网页

评论0

首页 导航 会员 客服
QQ客服 TOP