2018-08-06 17:44
站長朋友們,今后定期都將在這里跟大家分享一些有關搜索引擎工作原理及網站運營相關的內容,今天先簡單介紹一下關于搜索引擎抓取系統中有關抓取系統基本框架、抓取中涉及的網絡協議、抓取的基本過程三部分。
互聯網信息爆發式增長,如何有效的獲取并利用這些信息是搜索引擎工作中的首要環節。數據抓取系統作為整個搜索系統中的上游,主要負責互聯網信息的搜集、保存、更新環節,它像蜘蛛一樣在網絡間爬來爬去,因此通常會被叫做“spider”。例如我們常用的幾家通用搜索引擎蜘蛛被叫做:Baiduspdier、Googlebot、Sogou Web Spider等。
Spider抓取系統是搜索引擎數據來源的重要保證,如果把web理解為一個有向圖,那么spider的工作過程可以認為是對這個有向圖的遍歷。從一些重要的種子 URL開始,通過頁面上的超鏈接關系,不斷的發現新URL并抓取,盡最大可能抓取到更多的有價值網頁。對于類似百度這樣的大型spider系統,因為每時 每刻都存在網頁被修改、刪除或出現新的超鏈接的可能,因此,還要對spider過去抓取過的頁面保持更新,維護一個URL庫和頁面庫。
1、spider抓取系統的基本框架
如下為spider抓取系統的基本框架圖,其中包括鏈接存儲系統、鏈接選取系統、dns解析服務系統、抓取調度系統、網頁分析系統、鏈接提取系統、鏈接分析系統、網頁存儲系統。
2、spider抓取過程中涉及的網絡協議
搜索引擎與資源提供者之間存在相互依賴的關系,其中搜索引擎需要站長為其提供資源,否則搜索引擎就無法滿足用戶檢索需求;而站長需要通過搜索引擎將自己的 內容推廣出去獲取更多的受眾。spider抓取系統直接涉及互聯網資源提供者的利益,為了使搜素引擎與站長能夠達到雙贏,在抓取過程中雙方必須遵守一定的 規范,以便于雙方的數據處理及對接。這種過程中遵守的規范也就是日常中我們所說的一些網絡協議。以下簡單列舉:
http協議:超文本傳輸協議,是互聯網上應用最為廣泛的一種網絡協議,客戶端和服務器端請求和應答的標準。客戶端一般情況是指終端用戶,服務器端即指網 站。終端用戶通過瀏覽器、蜘蛛等向服務器指定端口發送http請求。發送http請求會返回對應的httpheader信息,可以看到包括是否成功、服務 器類型、網頁最近更新時間等內容。
https協議:實際是加密版http,一種更加安全的數據傳輸協議。
UA屬性:UA即user-agent,是http協議中的一個屬性,代表了終端的身份,向服務器端表明我是誰來干嘛,進而服務器端可以根據不同的身份來做出不同的反饋結果。
robots協議:robots.txt是搜索引擎訪問一個網站時要訪問的第一個文件,用以來確定哪些是被允許抓取的哪些是被禁止抓取的。 robots.txt必須放在網站根目錄下,且文件名要小寫。詳細的robots.txt寫法可參考 http://www.robotstxt.org。百度嚴格按照robots協議執行,另外,同樣支持網頁內容中添加的名為robots的meta標 簽,index、follow、nofollow等指令。
3、spider抓取的基本過程
spider的基本抓取過程可以理解為如下的流程圖:
如果大家對搜索引擎抓取還有別的疑問,大家可以到[學院同學匯][學習討論] 《 搜索引擎抓取系統概述(二)》討論帖中發表自己的看法,我們的工作人員會關注這里并與大家進行探討。