爬行抓取之蜘蛛
所謂的爬行和抓取,是搜索引擎工作的第一步。搜索引擎要向用戶提供信息,自己的數(shù)據(jù)庫里面就必須有龐大的數(shù)據(jù)量。所以,在網絡上搜尋有一定質量的內容放入自己數(shù)據(jù)庫是很重要的事情。
搜索引擎用來爬行和訪問頁面的程序被稱為蜘蛛(spider)。
1
robots協(xié)議
蜘蛛訪問網站頁面時,類似用戶訪問。不同的是,蜘蛛在訪問一個網站的時候,都會先訪問網站根目錄下的robots.txt文件。這個文件是網站和搜索引擎的一個協(xié)議,蜘蛛會遵守協(xié)議,不抓取被禁止的網址。
2
各搜索引擎蜘蛛
從訪問日志當中,可以看到各搜索引擎的蜘蛛命名方式不一樣:
Baiduspider百度蜘蛛
360spider 360蜘蛛
熟悉各家蜘蛛的名稱,對后期優(yōu)化中,分析爬行日志有很大作用。
3
爬行原則
蜘蛛爬行有兩種原則:廣度原則和深度原則。如下圖:
深度原則的爬行方式:A-B-D-C-E-F
廣度原則的爬行方式:A-B-C-D-E-F
兩種方式各有優(yōu)劣勢,分別影響的是爬行網站數(shù)量多少和內頁內容深度。
從理論上說,不管是深度優(yōu)先還是廣度優(yōu)先,只要時間夠,蜘蛛都能爬整個網絡。但是在實際情況下,由于資源、時間的限制,搜索引擎需要一個科學的爬行規(guī)則。
所以搜索引擎往往是深度、廣度通常是混合使用的,這樣既客戶照顧盡量多的網站,也能增加網站內頁收錄。
PS思考:蜘蛛爬行的時候,怎么判斷某個網站深度深一點?