互聯(lián)網(wǎng)信息爆發(fā)式增長,如何有效的獲取并利用這些信息是搜索引擎工作中的首要環(huán)節(jié)。數(shù)據(jù)抓取系統(tǒng)作為整個搜索系統(tǒng)中的上游,主要負責互聯(lián)網(wǎng)信息的搜集、保存、更新環(huán)節(jié),它像蜘蛛一樣在網(wǎng)絡間爬來爬去,因此通常會被叫做“spider”。例如我們常用的幾家通用搜索引擎蜘蛛被稱為:Baiduspdier、Googlebot、Sogou Web Spider等。
Spider抓取系統(tǒng)是搜索引擎數(shù)據(jù)來源的重要保證,如果把web理解為一個有向圖,那么spider的工作過程可以認為是對這個有向圖的遍歷。從一些重要的種子 URL開始,通過頁面上的超鏈接關系,不斷的發(fā)現(xiàn)新URL并抓取,盡最大可能抓取到更多的有價值網(wǎng)頁。對于類似百度這樣的大型spider系統(tǒng),因為每時 每刻都存在網(wǎng)頁被修改、刪除或出現(xiàn)新的超鏈接的可能,因此,還要對spider過去抓取過的頁面保持更新,維護一個URL庫和頁面庫。
下圖為spider抓取系統(tǒng)的基本框架圖,其中包括鏈接存儲系統(tǒng)、鏈接選取系統(tǒng)、dns解析服務系統(tǒng)、抓取調(diào)度系統(tǒng)、網(wǎng)頁分析系統(tǒng)、鏈接提取系統(tǒng)、鏈接分析系統(tǒng)、網(wǎng)頁存儲系統(tǒng)。Baiduspider即是通過這種系統(tǒng)的通力合作完成對互聯(lián)網(wǎng)頁面的抓取工作。