搜索引擎看似简单的抓取-入库-查询工作,但其中各个环节暗含的算法却十分复杂。搜索引擎抓取页面工作靠蜘蛛(Spider)来完成,抓取动作很容易实现,但是抓取哪些页面,优先抓取哪些页面却需要算法来决定,下面介绍几个抓取算法:
1、宽度优先抓取策略:
我们都知道,大部分网站都是按照树状图来完成页面分布的,那么在一个树状图的链接结构中,哪些页面会被优先抓取呢?为什么要优先抓取这些页面呢?宽度优先抓取策略就是按照树状图结构,优先抓取同级链接,待同级链接抓取完成后,再抓取下一级链接。如下图:
大家可以发现,我在表述的时候,使用的是链接结构而不是网站结构。这里的链接结构可以由任何页面的链接构成,并不一定是网站内部链接。这是一种理想化的宽度优先抓取策略,在实际的抓取过程中,不可能想这样完全宽度优先,而是有限宽度优先,如下图:
上图中,我们的Spider在取回G链接时,通过算法发现,G页面没有任何价值,所以悲剧的G链接以及下级H链接被Spider给和谐了。至于G链接为什么会被和谐掉?好吧,我们来分析一下。
2、非完全遍历链接权重计算:
每个搜索引擎都有一套pagerank(指页面权重,非google PR)计算方法,并且经常会更新。互联网近乎无穷大,每天都会产生海量的新链接。搜索引擎对于链接权重的计算只能是非完全遍历。为什么Google PR要三个月左右才更新一次?为什么百度大更新一个月1-2两次?这就是因为搜索引擎采用了非完全遍历链接权重算法来计算链接权重。其实按照目前的技术,实现更快频率的权重更新并不难,计算速度以及存储速度完全跟得上,但为什么不去做?因为没那么必要,或者已经实现了,但不想公布出来。那,什么是非完全遍历链接权重计算?
我们将K数量的链接形成一个集合,R代表链接所获得的pagerank,S代表链接所包含的链接数量,Q代表是否参与传递,β代表阻尼因数,那么链接所获得的权重计算公式为:
从公式 里可以发现,决定链接权重的是Q,如果链接被发现作弊,或者搜索引擎人工清除,或者其他原因,Q被设为0,那么再多的外链都没用。β是阻尼因数,主要作用是防止权重0的出现,导致链接无法参与权重传递,以及防止作弊的出现。阻尼因数β一般为0.85。为什么会在网站数量上乘以阻尼因数?因为一个页面内并非所有的页面都参与权重传递,搜索引擎会将已经过滤过的链接再度剔除15%。
但这种非完全遍历权重计算需要积累到一定数量的链接后才能再次开始计算,所以一般更新周期比较慢,无法满足用户对即时信息的需求。所以在此基础上,出现了实时权重分配抓取策略。即当蜘蛛完成抓取页面并入口后,马上进行权重分配,将权重重新分配待抓取链接库,然后蜘蛛根据权重高低来进行抓取。
3、社会工程学抓取策略
社会工程学策略,就是在蜘蛛抓取的过程中,加入人工智能,或者通过人工智能培训出来的机器智能,来确定抓取的优先度。目前我已知的抓取策略有:
a、热点优先策略:对于爆发式的热点关键词进行优先抓取,而且不需要经过严格的去重和过滤,因为会有新的链接来覆盖以及用户的主动选择。
b、权威优先策略:搜索引擎会给每个网站分配一个权威度,通过网站历史、网站更新等来确定网站的权威度,优先抓取权威度高的网站链接。
c、用户点击策略:当大部分搜索一个行业词库内的关键词时,频繁的点击同一个网站的搜索结果,那么搜索引擎会更频繁的抓取这个网站。
d、历史参考策略:对于保持频繁更新的网站,搜索引擎会对网站建立更新历史,根据更新历史来预估未来的更新量以及确定抓取频率。
对SEO工作的指导:
搜索引擎的抓取原理已经深入的讲解了,那么现在要浅出这些原理对SEO工作的指导作用:
A、定时、定量的更新会让蜘蛛准时爬行抓取网站页面;
B、公司运作网站比个人网站的权威度更高;
C、建站时间长的网站更容易被抓取;
D、页面内应适当的分布链接,太多、太少都不好;
E、受用户欢迎的网站同样受搜索引擎欢迎;
F、重要页面应该放置在更浅的网站结构中;
G、网站内的行业权威信息会提高网站的权威度。
这次教程就到这里了,下次教程的主题是:页面价值以及网站权重的计算。
原文地址:http://www.cmshtml.com/a/201212/30.html