基本概述
搜索引擎蜘蛛即Search Engine Spider,是一個很形象的名字。把互聯(lián)網(wǎng)比喻成一張蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來爬去的蜘蛛。搜索引擎蜘蛛是通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁,從 網(wǎng)站某一個頁面(通常是首頁)開始,讀取網(wǎng)頁的內(nèi)容,找到在網(wǎng)頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網(wǎng)頁,這樣一直循環(huán)下去,直到把這個網(wǎng)站所有的網(wǎng)頁都抓取完為止。如果把整個互聯(lián)網(wǎng)當(dāng)成一個網(wǎng),那么搜索引擎蜘蛛就可以用這個原理把互聯(lián)網(wǎng)上所有節(jié)點的網(wǎng)頁都抓取下來。
由于互聯(lián)網(wǎng)上無數(shù)的網(wǎng)站頁面,搜索引擎蜘蛛無法將所有的頁面都下載保存到服務(wù)器。因此,許多搜索引擎的網(wǎng)絡(luò)蜘 蛛只是抓取那些重要的網(wǎng)頁,而在抓取的時候評價重要性主要的依據(jù)是某個網(wǎng)頁的鏈接廣泛度(及外部鏈接的數(shù)量與質(zhì)量)。
抓取網(wǎng)頁策略
在抓取網(wǎng)頁的時候,搜索引擎蜘蛛一般有兩種策略:廣度優(yōu)先和深度優(yōu)先(如下圖所示)。廣度優(yōu)先是指搜索引擎蜘蛛會先抓取起始網(wǎng)頁中鏈接的所有網(wǎng)頁,然后再選擇其中 的一個鏈接網(wǎng)頁,繼續(xù)抓取在此網(wǎng)頁中鏈接的所有網(wǎng)頁。這是最常用的方式,因為這個方法可以讓搜索引擎蜘蛛并行處理,提高其抓取速度。深度優(yōu)先是指搜索引擎蜘蛛會從 起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉(zhuǎn)入下一個起始頁,繼續(xù)跟蹤鏈接。這個方法有個優(yōu)點是搜索引擎蜘蛛在設(shè)計的時候比較容易。兩種策略的區(qū)別,下圖的說明會更加明確。由于不可能抓取所有的網(wǎng)頁,有些搜索引擎蜘蛛對一些不太重要的網(wǎng)站,設(shè)置了訪問的層數(shù)。例如,在上圖中,A為起始網(wǎng)頁,屬于0層,B、C、D、E、F屬于第1 層,G、H屬于第2層,I屬于第3層。如果搜索引擎蜘蛛設(shè)置的訪問層數(shù)為2的話,網(wǎng)頁I是不會被訪問到的。這也讓有些網(wǎng)站上一部分網(wǎng)頁能夠在搜索引擎上搜索 到,另外一部分不能被搜索到。 對于網(wǎng)站設(shè)計者來說,扁平化的網(wǎng)站結(jié)構(gòu)設(shè)計有助于搜索引擎抓取其更多的網(wǎng)頁。
訪問網(wǎng)站權(quán)限
搜索引擎蜘蛛在訪問網(wǎng)站網(wǎng)頁的時候,經(jīng)常會遇到加密數(shù)據(jù)和網(wǎng)頁權(quán)限的問題,有些網(wǎng)頁是需要會員權(quán)限才能訪問。當(dāng)然,網(wǎng)站的所有者可以通過協(xié)議讓搜索引擎蜘蛛不去抓取,但對于一些出售報告的網(wǎng)站,他們希望搜索引擎能搜索到他們的報告,但又不能完全免費的讓搜索者查看,這樣就需要給搜索引擎蜘蛛提供相應(yīng)的 用戶名和密碼。搜索引擎蜘蛛可以通過所給的權(quán)限對這些網(wǎng)頁進行網(wǎng)頁抓取,從而提供搜索。而當(dāng)搜索者點擊查看該網(wǎng)頁的時候,同樣需要搜索者提供相應(yīng)的權(quán)限驗證。