您的位置:首页 > 编程语言 > Go语言

Google工程师解释Googlebot抓取网页的原理

2009-01-06 11:12 218 查看
Google工程师解释Googlebot抓取网页的原理
发布时间:2008-12-12 15:26:31 来源:飞度时代
Google的Matt Cutts确认了AdSense的Mediabot的确是会帮助Googlebot抓取网页的消息,但有部分人不相信Matt Cutts,或者不相信他能代表Google官方。作为Matt Cutts的blog的一名忠实读者,我觉得完全没必要花费篇幅再去特别说明Matt Cutts的权威性。我想说的是,Matt Cutts在是Google品质管理部门的一名高级软件工程师,外界所知的是他负责研发阻止Spam与恶性控制排名的技术。因此,信不信当然由你。

  其实上次Matt所透露的仅仅是其中一方面的内容。今天,Matt再次写了一篇非常详细的文章,解释了Google的各种bot是怎样抓取网页的,以及Google最新的BigDaddy在抓取网页方面有什么新的变化等等,内容非常的精彩,所以和大家分享一下。

  首先要介绍的是Google的“crawl caching proxy”(爬行缓存代理)。Matt举了一个ISP与用户的例子来说明它。用户上网时,总是先通过ISP获取网页内容,然后ISP就会把用户访问过的网页缓存起来备用。比如说,当用户A访问了www.kenwong.cn,那么中国电信(或网通等)就会把“幻灭的麦克风”发送给用户A,然后将“幻灭的麦克风”缓存起来,当用户B在下一秒钟里再访问www.kenwong.cn,那么中国电信就会把缓存里的“幻灭的麦克风”发送给用户B,这样就能节省了带宽。

  正如本站之前所报道的那样,Google最新的软件层面的升级(转移至BigDaddy)已经接近完成,因此升级后的Google各方面的能力都将得到加强。这些加强包括了更智能化的googlebot爬行、改良的规范性以及更好的收录网页能力。而在Googlebot爬行抓取网页方面,Google也采取了节省带宽的方法。Googlebot也随着BigDaddy的升级而得到了升级。新的Googlebot已经正式支持了gzip编码,所以如果你的网站开启了gzip编码功能,那么就能节省Googlebot爬行你的网页时所占的带宽。

  除了改良的Googlebot外,升级后的Google将会采用上面所说到的crawl caching proxy来抓取网页,以进一步节省带宽。下面是一个示意图,显示了传统的Googlebot是怎样爬行一个网站的:

  从上图可见,以Googlebot爬行为主,Server A指的是AdSense,而Server N则可以是Google的blogsearch或其它。我们可以看出,同一个网站,Googlebot与AdSense的Mediabot、blogsearch的bot都爬行过了,其中有很多重复的爬行。上图抓取网页的总数一共是23次。我们来看一下升级后的Google所采用的crawl caching proxy又是怎样的情形:

  很明显,因为crawl caching proxy将各种bot的抓取都缓存起来,因此当Googlebot已经抓取过某些网页,而Mediabot或其它bot再次抓取重复的网页时,crawl caching proxy就会发挥作用,直接将缓存里的网页返回给Mediabot等,这样就使得实际爬行次数减少,节省了带宽。

  从Matt的分析可以看出,Google这样做的确是能节省自己及网站的带宽,好处是能让Google的各种bot在一定的时间里爬行更多的网页,以方便收录。我的理解是,虽然好处是相当明显,但坏处也是有的。比如,当一个网站它以AdSense的广告费为生,那么它就需要AdSense的Mediabot不停地光临,以分析它的更新网页的内容,投放更相关的广告。但当这个网站是一个PR值不错的网站,那么Googlebot很可能会天天都来爬行它,这样一来,crawl caching proxy就会把Googlebot的爬行缓存起来,等Mediabot再来爬行的时候,它就直接把缓存的内容返回给Mediabot。这样一来就减少了Mediabot爬行该网站的次数。由于两种bot并不是采用完全相同的工作机制,因此这个网站有可能因此Mediabot的爬行次数的减少而使得显示的AdSense广告的相关性减弱。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: