一、網(wǎng)絡(luò)蜘蛛的定義
網(wǎng)絡(luò)蜘蛛(又被稱為網(wǎng)絡(luò)爬蟲,網(wǎng)絡(luò)機(jī)器人)是一種按照一定的規(guī)則,自動(dòng)地爬行抓取互聯(lián)網(wǎng)信息的程序或腳本。
通俗解釋:互聯(lián)網(wǎng)類似于蜘蛛網(wǎng),網(wǎng)絡(luò)爬蟲在其中不斷的爬行抓取,就像是蜘蛛通過蛛網(wǎng)進(jìn)行捕食,每當(dāng)發(fā)現(xiàn)新的資源蜘蛛立即出動(dòng)并對其進(jìn)行抓取并將抓取到的內(nèi)容存入數(shù)據(jù)庫。
二、網(wǎng)絡(luò)爬蟲的技術(shù)概述
網(wǎng)絡(luò)爬蟲幫助搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是一個(gè)自動(dòng)提取網(wǎng)頁信息的程序,因此網(wǎng)絡(luò)爬蟲也是搜索引擎的重要組成部分。已知的網(wǎng)絡(luò)爬蟲分為傳統(tǒng)爬蟲和聚焦爬蟲。
傳統(tǒng)爬蟲:就像蜘蛛在蛛網(wǎng)上爬行,網(wǎng)頁的URL就類似于相互關(guān)聯(lián)的蛛網(wǎng),網(wǎng)頁蜘蛛從一些初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在爬蟲抓取網(wǎng)頁的過程中,又不斷從爬取到的頁面上重新抽取新的URL放入預(yù)抓取隊(duì)列,如此反復(fù),直到滿足系統(tǒng)的停止條件,最終停止抓取。
聚焦爬蟲:聚焦爬蟲的工作流程較傳統(tǒng)爬蟲更為復(fù)雜,它根據(jù)網(wǎng)頁分析算法過濾與初始抓取主題無關(guān)的URL,保留有用的鏈接放入預(yù)抓取隊(duì)列,如此反復(fù),直到達(dá)到系統(tǒng)的某一條件時(shí)停止。
三、為什么要有“蜘蛛”
隨著網(wǎng)絡(luò)的迅速發(fā)展,互聯(lián)網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個(gè)巨大的挑戰(zhàn)。作為幫助用戶訪問互聯(lián)網(wǎng)的入口和指南,搜索引擎也存在著很多局限性。
1、通用搜索引擎的目標(biāo)是將網(wǎng)絡(luò)覆蓋率盡可能做到最大化,因此有限的搜索引擎服務(wù)器資源與無限的網(wǎng)絡(luò)信息資源之間產(chǎn)生了巨大的矛盾。
2、通用搜索引擎所返回的結(jié)果過于寬泛,其中包含大量與用戶搜索目的不相關(guān)的網(wǎng)頁。
3、互聯(lián)網(wǎng)數(shù)據(jù)形式和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,圖片、音頻、視頻等多種多媒體數(shù)據(jù)大量涌出,通用搜索引擎對這類信息不能很好的發(fā)現(xiàn)和獲取。
4、通用搜索引擎基于關(guān)鍵字搜索,不支持根據(jù)語義查詢。
以上問題的出現(xiàn)也促使了定向抓取相關(guān)網(wǎng)頁資源的聚焦爬蟲的出現(xiàn)。聚焦爬蟲能夠自動(dòng)下載網(wǎng)頁,它根據(jù)既定的抓取目標(biāo),有選擇的訪問互聯(lián)網(wǎng)上的網(wǎng)頁與相關(guān)的鏈接,從中收集需要的信息。與通用爬蟲不同,聚焦爬蟲并不追求大的覆蓋,而將目標(biāo)定為抓取與某一特定主題內(nèi)容相關(guān)的網(wǎng)頁,為面向主題的用戶查詢準(zhǔn)備數(shù)據(jù)資源。
了解搜索引擎的工作原理對于網(wǎng)站SEO優(yōu)化起著重要的作用,很多的SEO技巧都是根據(jù)搜索引擎的工作原理而產(chǎn)生,因此對于搜索引擎工作原理的解讀是SEO工作者的重要基本功。
獲取web頁面。每個(gè)獨(dú)立的搜索引擎都有自己的網(wǎng)絡(luò)爬蟲程序(Spider)。爬蟲沿著網(wǎng)頁中的超鏈接從這個(gè)網(wǎng)站爬到另個(gè)網(wǎng)站,并分析通過超鏈接分析獲取更多網(wǎng)頁的連續(xù)訪問。捕獲的web頁面稱為web快照。由于超鏈接在Internet中的應(yīng)用非常普遍,理論上,從定范圍的web頁面開始,我們可以收集絕大多數(shù)的web頁面。
處理web頁面。捕獲網(wǎng)頁后,搜索引擎還需要做大量的預(yù)處理工作來提供檢索服務(wù)。其中重要的是提取關(guān)鍵字,建立索引庫和索引。其他包括刪除重復(fù)的網(wǎng)頁、分詞(中文)、確定網(wǎng)頁類型、分析超鏈接、計(jì)算網(wǎng)頁的重要性和豐富度等。
提供檢索服務(wù)。用戶輸入檢索的關(guān)鍵字,搜索引擎找到與索引數(shù)據(jù)庫中關(guān)鍵字匹配的web頁面。為了便于用戶判斷,除了頁面標(biāo)題和URL之外,還將提供web頁面的摘要和其他信息。搜索引擎的自動(dòng)信息收集功能提交網(wǎng)站搜索。站長主動(dòng)將網(wǎng)站提交給搜索引擎。它會(huì)在定時(shí)間內(nèi)將爬蟲發(fā)送到您的網(wǎng)站,掃描您的網(wǎng)站并將信息存儲到數(shù)據(jù)庫中以供用戶使用。因?yàn)樗阉饕嫠饕?guī)則發(fā)生了很大變化相對于過去,主動(dòng)提交的網(wǎng)站并不保證你的網(wǎng)站能進(jìn)入搜索引擎數(shù)據(jù)庫,所以站長應(yīng)加大網(wǎng)站的內(nèi)容,讓搜索引擎有更多機(jī)會(huì)找到你并自動(dòng)收集你的網(wǎng)站。
當(dāng)用戶用關(guān)鍵詞搜索信息時(shí),搜索引擎將在數(shù)據(jù)庫中搜索。如果你找到個(gè)網(wǎng)站,符合用戶要求的內(nèi)容,個(gè)特殊的算法--通常根據(jù)網(wǎng)頁中關(guān)鍵詞的匹配程度,位置、頻率,鏈接質(zhì)量,等等--計(jì)算網(wǎng)頁的相關(guān)性和排名。然后,根據(jù)關(guān)聯(lián)程度,將這些鏈接依次返回給用戶。