搜索引擎的工作過程非常復雜,其工作過程大體可以分為三個階段:
(1)網頁收集:搜索引擎蜘蛛通過鏈接進行爬行和抓取,將抓取到的頁面存儲到原始數據庫中。
(2)預處理:搜索引擎蜘蛛抓取到的頁面不能直接進行用戶查詢排名,需要進行預處理。
(3)檢索服務:用戶輸入查詢詞后,排名程序調用索引數據庫中的數據,將與用戶搜索詞相關的頁面展示給用戶。
搜索引擎是通過蜘蛛程序對互聯網中的網頁進行抓取和收集的,網頁收集是搜索引擎工作的第一步。了解搜索引擎的網頁抓取機制,便于蜘蛛抓取更多的頁面,使網站有更好的排名。
(1)什么是蜘蛛
網絡爬蟲,又被稱為網頁蜘蛛、網絡機器人,是指按照一定的規則,自動抓取互聯網中網頁的程序或者腳本。
(2)蜘蛛的工作方式
對于互聯網中的網站來說,如果沒有對其中的鏈接進行屏蔽設置,蜘蛛就可以通過鏈接在網站內或者網站間進行爬行和抓取。
由于互聯網中的網站及頁面鏈接結構異常復雜,蜘蛛需要采取一定的爬行策略才能抓取更多的頁面。
最簡單的爬行策略有兩種:一種是深度優先,另一種是廣度優先。
廣度優先:是指蜘蛛會先抓取起始網頁中鏈接的所有網頁,然后再選擇其中的一個鏈接網頁,繼續抓取在此網頁中鏈接的所有網頁。這是最常用的方式,因為這個方法可以讓網絡蜘蛛并行處理,提高其抓取速度。
深度優先:是指蜘蛛會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉入下一個起始頁,繼續跟蹤鏈接。
深度優先和廣度優先通常是混合使用的。這樣既可以照顧到盡量多的網站,也可以照顧到一部分網站的內頁,同時也會考慮頁面權重、網站規模、外鏈、更新等因素。而且搜索引擎為了提高爬行和抓取的速度。都是用多個蜘蛛并發分布爬行。
根據這一原理,在優化網站時,應該合理設置網站中的鏈接,便于蜘蛛更加順利的爬行網站中的各個頁面。
(3)認識種子站點
一些互聯網中的網站被蜘蛛格外看重, 蜘蛛的爬行也往往以這些網站作為起始站點。通常情況下,這類站點具有一定的權威性和導航性,如新浪、hao123 等。這些具有權威性和導航性的網站稱為種子站點。因此,在優化網站時,可以在種子站點中添加自己網站的鏈接,增加線 蛛抓取的入口。
(4)搜索引擎的收集機制
如蛛對于網站的取頻率受網站更新周期的影響,若網站定期定量更新,那么,蜘蛛會規律進入網站中進行爬行和抓取。
蜘蛛每次爬行都會把頁面數據存儲起來,如果第二次爬行發現頁面與第一次收錄的完全一樣,說明頁面沒有更新,多次抓取后蜘蛛會對頁面更新頻率有所了解。不常更新的頁面,蜘蛛也就沒有必要經常抓取。如果頁面內容經常更新,蜘蛛就會更加頻繁地訪問這種頁面,頁面上出現的新鏈接,也自然會被統蛛更快地抓取。
因此,在優化網站時,應該定期定量地更新內容,增加網站被抓取的頻率。
(5) 文件存儲
視索引擎蜘蛛抓取的網站制作頁面存入原始數據庫中。搜索引擎會對原始數據庫中的頁面進行相應的處。