爬行和抓取是搜索引擎工作的第一步,完成數據收集的任務。
1、搜索引擎蜘蛛
搜索引擎蜘蛛訪問網站頁面和訪問頁面的程序被稱為蜘蛛(spider)或機器人(bot)。
搜索引擎蜘蛛訪問網站頁面時類似于普通用戶使用的瀏覽器。蜘蛛程序發出頁面訪問請求后,服務器返回HTML代碼,蜘蛛程序把收到的代碼存入原始頁面數據庫。搜索引擎為了提高爬行和抓取速度,都使用多個蜘蛛并發分布爬行。
蜘蛛訪問任何一個網站時,都會先訪問網站根目錄下面的robots.txt文件。如果robots.txt文件禁止搜索引擎抓取某些文件或目錄,蜘蛛將遵守協議,不抓取被禁止訪問的網址。和瀏覽器一樣,搜索引擎蜘蛛也有標明自己身份的用戶代理名稱,站長可以在日志文件中看到搜索引擎的特定用戶代理,從而辨認搜索引擎蜘蛛。
2、跟蹤鏈接
為了抓取網上盡量多的頁面,搜索引擎蜘蛛會跟蹤頁面上的鏈接,從一個頁面爬到下一個頁面,就好像蜘蛛在蜘蛛網上面爬行一樣,這也就是搜索引擎蜘蛛的由來。
整個互聯網是由相互鏈接的網站及頁面組成的。從理論上面來講,蜘蛛從任何一個頁面出發,順著鏈接都可以爬行到網上的所有頁面。當然,由于網站及頁面鏈接結構異常復雜,蜘蛛需要采取一定的爬行策略才能遍歷網上所有頁面。
簡單的爬行遍歷策略分為2種,一種是深度優先,另一種是廣度優先。
所謂深度優先,指的是蜘蛛沿著發現的鏈接一直向前爬行,直到前面再也沒有其他鏈接,然后返回到第一個頁面,沿著另一個頁面鏈接再一直往前爬行。
廣度優先是指蜘蛛在一個頁面上發現多個鏈接時,不是順著一個鏈接一直向前,而是把所有頁面第一層鏈接都爬一遍,然后在沿著第二層頁面上發現的鏈接爬向第三層頁面。
從理論上面說,不論是廣度還是深度優先,只要給蜘蛛足夠的時間,都能爬完整個互聯網。但是在實際工作中,蜘蛛的帶寬資源、時間都不是無限的,也不可能爬完所有頁面。實際上最大的搜索引擎也只是爬行和收錄了互聯網的一小部分。
深度優先和廣度優先通常是混合使用的,這樣既可以照顧到盡量多的網站(廣度優先),也能照顧到一部分網站的內頁(深度優先),同時也會考慮頁面權重、網站規模。
以上內容均來源于
東莞網絡公司,由東莞培戀網科技整合。東莞市培戀網科技為企業網頁建設排名優化,提供企業、個人
模板網站制作,國外域名注冊和服務器提供商。
培戀網原創版權,網站建設提供網站代運營、模板網站制作轉載請注明出處,本文地址:http://www.gdszrq.com/news/video/46.html