为抓取到网站上尽量多的页面,搜索引擎蜘蛛会跟踪网页上的链接,从一个页面爬到下一个页面,这和蜘蛛在蜘蛛网上爬行是一样的,这也就是搜索引擎机器人称为蜘蛛的由来。 整个互联网是由相互链接的网站及页面组成的。从理论上说,蜘蛛可以从任何一个页面出发,顺着链接可以爬行到网上任何一个页面。当然,由于网站及页面链接结构异常复杂, 蜘蛛需要采取一定的爬行策略才能行走于整个互联网海洋。 通常搜索引擎蜘蛛爬行遍历策略分有两种,一种是深度优先,另一种是广度优先。 所谓深度优先,指的是蜘蛛沿着发现的链接一直向前爬行,直到前面再也没有其他链接,正所谓不撞南墙;然后返回到第一个页面,沿着另一个链接再一直往下爬行。
如图1所示,蜘蛛跟踪链接,从A页面爬行到Al,A2, A3,A4,到A4页面后, 己经没有其他链接可以跟踪就返回A页面,顺着页面上的另一个链接,爬行到Bl,B2, B3, B4。在深度优先策略中,蜘蛛一直爬到这个链接的尽头,在返回到起点,爬向另一条链接。 广度优先是指蜘蛛在一个页面上发现多个链接时,不是顺着一个链接一直向前,而是把页面上所有第一层链接都爬一遍,然后再沿着第二层页面上发现的链接爬向第三层页面。 如图2所示,蜘蛛从A页面顺着链接爬行到Al,Bl, C1页面,直到A页面上的所 有链接都爬行完,然后再从A1页面发现的下一层链接,爬行到A2, A3, A4,……页面。 |