爬行和抓取

Author: 影子 68 views

爬行和抓取是搜索引擎工作的第一步,完成数据收集的任务。
爬行和抓取首先会通过一个叫做「蜘蛛」,也有人称「爬虫」的工具,抓取全球各个地方的网站,看看有那些新增的网站,接着将他们全部下载下来。下载下来之后,就会进入到分析和处理的部分。

那么什么是“蜘蛛”?

蜘蛛是搜索引擎的一个自动应用程序,它的作用很简单,就是在互联网中浏览信息,然后把这些信息都抓取到搜索引擎的服务器上,再建立索引库等操作。我们可以把蜘蛛当作采集网站内容的工具,因此越是有利于爬取的操作,就越有利于SEO。其实,蜘蛛的工作也挺简单,具体步骤参见下图。

spider

这里需要特别注意的是:蜘蛛访问任何一个网站时,都会先访问网站根目录下的robots.txt文件。如果robots.txt 文件禁止搜索引擎抓取某些文件或目录,蜘蛛将遵守协议,不抓取被禁止的网址。还有就是蜘蛛爬取的是网站代码内容,而不是我们看到的显示内容,因此没有文本化直接从数据库中读取的内容,搜索引擎是获取不到的。

大家都知道,整个互联网是由相互链接的网站及页面组成的,就像一个蜘蛛网一样。从理论上说,蜘蛛从任何一个页面出发,顺着链接都可以爬行到网上的所有页面。当然,由于网站及页面链接结构异常复杂, 蜘蛛需要采取一定的爬行策略才能遍历网上所有页面。

下面介绍一下蜘蛛爬行网页的策略:

1、深度优先

所谓深度优先是指蜘蛛沿着发现的链接一直向前爬行,直到爬到没有任何链接为止;然后又返回首页,一个页面接一个页面,直到抓取全部链接,这就是深度优先抓取策略。
如下图所示,蜘蛛跟踪链接,从A页面爬到A1,A2,A3,到A3页面后,显然没有其他链接可以爬行。于是在返回到首页,爬行B1,B2,B3。这就是深度优先策略,蜘蛛一直爬到无法再向前,才返回爬另一条线。

2、广度优先

广度优先是指蜘蛛在一个页面上发现多个链接时,不是顺着一个链接一直向前,而是把 页面上所有第一层链接都爬一遍,然后再沿着第二层页面上发现的链接爬向第三层页面。
如下图所示:蜘蛛从A页面顺着链接爬行到A1,B1页面,直到A页面上的所有链接都爬完,然后再从A1页面发现的了下一层链接爬行A2,A3,A4……页面。

3、权重优先

这个比较好理解,主要是搜索引擎蜘蛛比较喜欢爬取质量好的链接内容。所以很多SEOer都说内容为王,就是这个道理,内容质量好,访问的人多,权重越来越高,那你的排名自然而然就上去了。

从以上可以看出,无论是深度优先还是广度优先,只要给蜘蛛足够的时间,都能爬完整个互联网。所以在实际工作中我们要深度优先和广度优先混合使用,这样既可以照顾到尽量多的网站(广度优先),也能照顾到一部分网站的内页(深度优先)。

官方相关问题及参考文章:

Baiduspider常见问题解答:http://help.baidu.com/question?prod_id=99&class=476&id=2996

Googlebot相关问题解答:https://support.google.com/webmasters/answer/182072

What is googlebot?:https://yoast.com/what-is-googlebot/

 

Leave a Comment