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