搜索引擎工作原理爬行和抓取

图片来源于网络

搜索引擎工作过程大体分为三个阶段:爬行和抓取、预处理、排名。而今天主讲部分就是爬行和抓取。

1、蜘蛛

搜索引擎用来爬行和访问页面的程序被称为蜘蛛(spider)或爬虫。搜索引擎蜘蛛访问网站类似于用户使用浏览器。搜索引擎为了提高爬行和抓取速度,都使用多个蜘蛛并行发布爬行。

蜘蛛访问任何一个网站都是先访问网站根目录下的robots.txt文件。如果robots.txt文件禁止抓取,蜘蛛将不进行抓取。

搜索引擎蜘蛛也会自我标明身份,站长可以在日志文件中辨识搜索引擎蜘蛛(如:Baiduspider百度蜘蛛)

2、链接跟踪

为了尽可能的抓取网站的页面,蜘蛛会跟踪页面上的链接。从一个页面到下一个页面,就像蜘蛛在蜘蛛网上爬行一样,这也是搜索引擎蜘蛛这个名称的由来。

由于网站及页面链接结构异常复杂,蜘蛛需采取一定的爬行策略才能遍历网站上所有页面。这里就涉及到了两种爬行遍历策略:深度优先和广度优先。

如下图所示:蜘蛛从A页面爬行到A1、A2、A3,到A3页面已经没有其他链接可以跟踪就返回A页面。然后顺着B1继续往下走。在这个遍历过程中,蜘蛛一直爬到无法再向前,才返回爬另一条线。

深度优先遍历

如下图所示:蜘蛛从A页面顺着连接爬行到A1、B1、C1页面,直到页面上的所有链接都爬行完,然后再从A1页面发现的下一层链接再爬行A2、A3、A4页面。

广度优先遍历

理论上说,只要给时间,这两种方法蜘蛛都可以爬完整个互联网。但在实际工作中,蜘蛛的带宽资源,时间都是有限的,不可能爬完所有页面。实际上最大的搜索引擎也只是爬行和收录了互联网的一小部分。深度和广度优先通常是混合使用的,这样既可以照顾到尽量多的网站(广度优先),也能照顾到一部分网站的内页(深度优先),同时也会考虑页面权重,网站规模,外链,更新等因素。

3、吸引蜘蛛

既然蜘蛛不可能爬行和抓取所有页面,那SEO人员要向让自己的页面更多的被抓取,就要想法设法吸引蜘蛛来抓取。那哪些比较页面才会吸引蜘蛛呢?又或者说哪些页面才是搜索引擎认为比较重要呢?一共有下面5个方面。

(1)网站和页面权重

质量高,资格老的网站被认为权重比较高,被爬行的深度也会比较高,也就会有更多内页被收录。

(2)页面更新度

每次蜘蛛抓取页面都会存储起来。如果第二次爬行发现页面和第一次收录的完全一样,说明页面没有更新,多次之后就会减低抓取频率。如果页面经常更新,蜘蛛访问会更加频繁,同时也会更快跟踪和抓取更多的页面。

(3)导入链接

无论是外部链接还是同一个网站的内部链接,要被蜘蛛抓取,就必须有导入链接进入页面,否则蜘蛛根本没有机会知道页面的存在。高质量的导入链接也经常使页面上的导出链接被爬行的深度增加。

(4)与首页点击距离

一般来说网站首页权重是最高的,大部分外部链接是指向首页的,蜘蛛访问最频繁的也是首页。离首页点击距离越近,页面权重越高,被蜘蛛爬行的机会也越大。

(5)URL结构

页面权重是在收录并进行迭代计算后才知道的,那么前面说的页面权重高有利于被抓取,搜索引擎蜘蛛在抓取前怎么知道这个页面的权重呢?所以蜘蛛要进行预判,除了链接、与首页距离。历史数据等因素外、短的,层次浅的URL也可能被直观认为网站上的权重相对较高。

4、地址库

为了避免重复爬行和抓取网址,搜索引擎会建立一个地址库,记录已经被发现、但还没有被抓取的页面,以及已经被抓取的页面。蜘蛛在页面上发现链接后并不是马上就去访问,而是将URL存入地址库,然后统一安排抓取。地址库中的URL有几个来源:

(1)人工录入的种子网站。

(2)蜘蛛抓取页面从新页面中解析出的新的链接URL,再与地址库中的数据对比,如果没有在地址库,就存入待访问地址库。

(3)站长通过搜索引擎网页提交表格提交进来的网址。

(4)站长通过XML网站地图,站长平台提交的网址。

蜘蛛按重要性从待访问地址库中提取URL,访问并抓取页面,然后把这个URL从待访问地址库中删除,放进已访问地址库中。站长页面提交作用很低,因为搜索引擎更喜欢自己沿着链接发现新页面。

5、文件存储

搜索引擎蜘蛛抓取的数据存入原始页面数据库。其中的页面数据与用户浏览器得到的HTML是完全一样的。每个URL都有一个独特的文件编号。

6、爬行时的复制内容检测

检测并删除复制内容通常是在预处理过程中进行的,但现在的蜘蛛在爬行和抓取文件时也会进行一定程度的复制内容检测。遇到权重很低的网站上大量转载或抄袭内容时,很可能不会继续爬行。这也就是有的站长在日志文件中发现了蜘蛛,但页面从来没有被真正收录过的原因之一。



转载请注明地址:http://www.1xbbk.net/jwbjj/3730.html


  • 上一篇文章:
  • 下一篇文章:
  • 网站简介 广告合作 发布优势 服务条款 隐私保护 网站地图 版权声明
    冀ICP备19027023号-7