世紀網(wǎng)絡(luò )淺議搜索引擎的檢索、策略和存儲 |
作者:孫斌 發(fā)布時(shí)間:2009-01-20 瀏覽:1938次 |
本文簡(jiǎn)單的分析了爬蟲(chóng)抓取網(wǎng)頁(yè)的一些基本原理與大家同享,能基本了解網(wǎng)頁(yè)的幾個(gè)排名因素:鏈接的建設和網(wǎng)頁(yè)的布局,多多體會(huì ),希望能給大家有所幫助。 爬蟲(chóng)的工作原理包括抓取,策略和存儲,抓取是爬蟲(chóng)的基本勞動(dòng)過(guò)程,策略是爬蟲(chóng)的智慧中樞,存儲是爬蟲(chóng)的勞動(dòng)結果,我們按照由淺入深的過(guò)程來(lái)了解整個(gè)爬蟲(chóng)的工作原理。 1:從種子站點(diǎn)開(kāi)始抓取 基于萬(wàn)維網(wǎng)的蝴蝶型結構,這種非線(xiàn)性的網(wǎng)頁(yè)組織結構,就會(huì )出現一個(gè)抓取順序的問(wèn)題,這種抓取順序的策略必須保證盡可能地抓取所有網(wǎng)頁(yè)。 一般來(lái)說(shuō),爬蟲(chóng)選擇抓取蝴蝶型左邊的結構為抓取出發(fā)點(diǎn),典型的如sina和sohu這樣的門(mén)戶(hù)網(wǎng)站的主頁(yè),每次抓取網(wǎng)頁(yè)之后分析其中的URL,這種字符串形式的鏈接是指向其他網(wǎng)頁(yè)的URL,它們指引著(zhù)爬蟲(chóng)抓取其他網(wǎng)頁(yè)。(基于這點(diǎn)我們可以初步理解引擎先左后右,先上后下的抓取原因了) a:深度優(yōu)先的策略(Depth-First Traversal) 深度優(yōu)先的遍歷策略類(lèi)似家族繼承策略,典型的如封建帝王的繼承,通常為長(cháng)子,如果長(cháng)子去世,長(cháng)孫的優(yōu)先級大于次子的優(yōu)先級(這點(diǎn)大家多多仔細分析琢磨下),如果長(cháng)子和長(cháng)孫都已經(jīng)去世,那么次子繼承,這種繼承上的優(yōu)先關(guān)系也稱(chēng)深度優(yōu)先策略。(從這點(diǎn)上我們可以了解到蜘蛛的抓取欄目頁(yè)先后順序) b:寬度優(yōu)先的策略(Breadth-First Traversal) 寬度優(yōu)先我們又稱(chēng)為廣度優(yōu)先,或者叫層次優(yōu)先,例如:我們在給祖輩和父輩還有平輩敬茶的時(shí)候先給最年長(cháng)的祖輩,其次為父輩,最后為平輩,在爬蟲(chóng)抓取上也采取了這樣的策略?;谑褂脤挾扔邢薜牟呗灾饕蛴腥c(diǎn): 1>首頁(yè)重要的網(wǎng)頁(yè)往往離種子比較近,例如我們打開(kāi)新聞?wù)镜臅r(shí)候往往是最熱門(mén)的新聞,隨著(zhù)不斷的深入沖浪,PV值增加,所看到網(wǎng)頁(yè)重要性越來(lái)越低。 2>萬(wàn)維網(wǎng)的實(shí)際深度最多能達到17層,到達某個(gè)網(wǎng)頁(yè)的路徑深入很多,但是總存在一條很短的路徑。 3>寬度優(yōu)先有利于多爬蟲(chóng)的合作抓取(Mozk是根據前輩的資料分析和IIS日志分析,暫且認為,有不同見(jiàn)解,歡迎討論交流),多爬蟲(chóng)合作通常先抓取站內連接,遇到站外連接然后開(kāi)始抓取,抓取的封閉性很強。 附:鏈接的優(yōu)化,避抓取鏈接的死循環(huán),同時(shí)也避免該抓取的資源沒(méi)有得到抓取,浪費大量的資源做無(wú)用功。(如何建立合理的內部鏈接可以參照小站)。 2:網(wǎng)頁(yè)抓取優(yōu)先策略 網(wǎng)頁(yè)的抓取優(yōu)先策略也稱(chēng)為“面頁(yè)選擇問(wèn)題”(page selection),通常抓取重要性的網(wǎng)頁(yè),這樣保證有限資源(爬蟲(chóng),服務(wù)器負載)盡可能的照顧到重要性高的網(wǎng)頁(yè),這點(diǎn)應該很好理解。 那么哪些網(wǎng)頁(yè)才是重要性的網(wǎng)頁(yè)呢? 網(wǎng)頁(yè)的重要性判斷因素很多,主要有鏈接歡迎度(知道鏈接的重要性了吧),鏈接的重要度和平均深度鏈接,網(wǎng)站質(zhì)量,歷史權重等主要因素。 鏈接的歡迎度主要是由反向鏈接(backlinks)的數量和質(zhì)量決定,我們定義為IB(P)。 鏈接的重要度,是一個(gè)關(guān)于URL字符串的函數,僅僅考察字符串本身,比如認為“.com”“home”的URL重要度比“.cc”和“map”較高(這里是比方不是絕對,就如我們通常默認首頁(yè)index.**一樣,要定義其他名稱(chēng)也可以,另外排名是個(gè)綜合因素,com的不一定排名就好,只是其中一個(gè)很小的因素而已),我們定義為IL(P) 平均連接深度,依筆者之見(jiàn),根據上面所分析的寬度優(yōu)先的原則計算出全站的平均鏈接深度,然后認為距離種子站點(diǎn)越近重要性越高。我們定義為ID(P) 我們定義網(wǎng)頁(yè)的重要性為I(P) 那么: I(p)=X*IB(P)+Y*IL(P) ID(P)由寬度優(yōu)先的遍歷規則保證,因此不作為重要的指標函數,為了保證重要性高的網(wǎng)頁(yè)被抓取,所以,這樣的抓取完全是合理,科學(xué)的。 本文的第1點(diǎn)是講解的一個(gè)點(diǎn),第二點(diǎn)是分析的一個(gè)面。 SEO的目標是提高網(wǎng)站的質(zhì)量,提高網(wǎng)站的質(zhì)量是提高網(wǎng)站用戶(hù)體驗友好度,提高網(wǎng)站用戶(hù)優(yōu)化度的終極目標是離開(kāi)SE做常青樹(shù)。畢竟SEO是一個(gè)排名的逆向推理過(guò)程,不可能全對,只是對數據的一種分析,任何資料只能是參考,還是要多靠自己的實(shí)踐 |