互聯(lián)網(wǎng)的動(dòng)態(tài)性是其顯著特征,隨時(shí)都有新出現(xiàn)的頁(yè)面,頁(yè)面的內(nèi)容被更改或者本來(lái)存在的頁(yè)面被刪除。對(duì)于爬蟲(chóng)來(lái)說(shuō),并非將網(wǎng)頁(yè)抓取到本地就算完成任務(wù),也要體現(xiàn)出互聯(lián)網(wǎng)的這種動(dòng)態(tài)性。本地下載的網(wǎng)頁(yè)可被看做是互聯(lián)網(wǎng)頁(yè)面的“鏡像”,爬蟲(chóng)要盡可能保證其一致性。可以假設(shè)一種情況:某個(gè)網(wǎng)頁(yè)已被刪除或者內(nèi)容做出重大變動(dòng),而搜索引擎對(duì)此惘然無(wú)知,仍然按其舊有內(nèi)容排序,將其作為搜索結(jié)果提供給用戶,其用戶體驗(yàn)之糟糕不言而喻。所以,對(duì)于已經(jīng)抓取過(guò)的網(wǎng)頁(yè),爬蟲(chóng)還要負(fù)責(zé)保持其內(nèi)容和互聯(lián)網(wǎng)頁(yè)面的同步,這取決于爬蟲(chóng)所采用的網(wǎng)頁(yè)更新策略。
網(wǎng)頁(yè)更新策略的任務(wù)是要決定何時(shí)重新抓取之前已經(jīng)下載過(guò)的網(wǎng)頁(yè),以盡可能使得本地下載網(wǎng)頁(yè)和互聯(lián)網(wǎng)原始頁(yè)面內(nèi)容保持一致。常用的網(wǎng)頁(yè)更新策略有3種:歷史參考策略、用戶體驗(yàn)策略和聚類抽樣策略。
歷史參考策略
歷史參考策略是最直觀的一種更新策略,它建立于如下假設(shè)之上:過(guò)去頻繁更新的網(wǎng)頁(yè),那么將來(lái)也會(huì)頻繁更新。所以,為了預(yù)估某個(gè)網(wǎng)頁(yè)何時(shí)進(jìn)行更新,可以通過(guò)參考其歷史重要更新情況來(lái)做出決定。
這種方法往往利用泊松過(guò)程來(lái)對(duì)網(wǎng)頁(yè)的變化進(jìn)行建模,根據(jù)每個(gè)網(wǎng)頁(yè)過(guò)去的變動(dòng)情況,利用模型預(yù)測(cè)將來(lái)何時(shí)內(nèi)容會(huì)再次發(fā)生變化,以此來(lái)指導(dǎo)爬蟲(chóng)的抓取過(guò)程。但是不同方法側(cè)重不盡相同,比如有的研究將一個(gè)網(wǎng)頁(yè)劃分成不同的區(qū)域,抓取策略應(yīng)該忽略掉廣告欄或者導(dǎo)航欄這種不重要區(qū)域的頻繁變化,而集中在主題內(nèi)容的變化探測(cè)和建模上。
用戶體驗(yàn)策略
一般來(lái)說(shuō),搜索引擎用戶提交查詢后,相關(guān)的搜索結(jié)果可能成千上萬(wàn),而用戶沒(méi)有耐心查看排在后面的搜索結(jié)果,往往只查看前3頁(yè)搜索內(nèi)容。用戶體驗(yàn)策略就是利用搜索引擎用戶的這個(gè)特點(diǎn)來(lái)設(shè)計(jì)更新策略的。
這種更新策略以用戶體驗(yàn)為核心,即使本地索引的網(wǎng)頁(yè)內(nèi)容是過(guò)時(shí)的,但是如果 不影響用戶體驗(yàn),那么晚些更新這些過(guò)時(shí)網(wǎng)頁(yè)也未嘗不可。所以判斷一個(gè)網(wǎng)頁(yè)何時(shí)更新為好,取決于這個(gè)網(wǎng)頁(yè)的內(nèi)容變化所帶來(lái)搜索質(zhì)量的變化(往往采用搜索結(jié)果排名的變化來(lái)衡量),影響越大的網(wǎng)頁(yè),則應(yīng)該越快更新。
用戶體驗(yàn)策略保存網(wǎng)頁(yè)的多個(gè)歷史版本,并根據(jù)過(guò)去 每次內(nèi)容變化對(duì)搜索質(zhì)量的影響,得出一個(gè)平均值,以此作為 判斷爬蟲(chóng)重抓該網(wǎng)頁(yè)時(shí)機(jī)的參考依據(jù),對(duì)于影響越厲害的網(wǎng)頁(yè),則越優(yōu)先調(diào)度重新抓取。
聚類抽樣策略
聚類抽樣策略認(rèn)為:網(wǎng)頁(yè)具有一些屬性,根據(jù)這些屬性可以預(yù)測(cè)其更新周期,具有相似屬性的網(wǎng)頁(yè),其更新周期也是類似的。于是,可以根據(jù)這此屬性將網(wǎng)頁(yè)歸類,同一類別內(nèi)的網(wǎng)頁(yè)具有相同的更新頻率。為了計(jì)算某個(gè)類別的更新周期,只需對(duì)類別內(nèi)網(wǎng)頁(yè)進(jìn)行采樣,以這些被采樣網(wǎng)頁(yè)的更新周期作為類別內(nèi)所有其他網(wǎng)頁(yè)的更新周期。與之前 敘述的兩種方法相比較,這種策略一方面無(wú)須為每個(gè)網(wǎng)頁(yè)保存歷史信息;另一方面,對(duì)于新網(wǎng)頁(yè),即使沒(méi)有歷史信息,也可以根據(jù)其所類別來(lái)對(duì)其進(jìn)行更新。