網絡資源數量巨大,種類多樣。任何搜索引擎要采集所有的網絡資源,既不可能,也沒有必要。如何根據鏈接結構及對網絡數據的分析確定適用的訪問策略,是信息采集的關鍵。常見的訪問策略包括常規遍歷算法和優化遍歷算法兩類。
常規遍歷形式,通常包括廣度優先算法、深度優先算法、IP地址搜索策略等。
廣度優先算法按照鏈接的層次進行,在訪問完一個層次后再進行下一層次的訪問,如此由淺入深、逐級進行。這一算法可以增加訪問的廣度,使得多個服務器的上層資源得到采集,但鏈接結構中層次較后的有價值資源往往難于獲得。
深度優先算法從起始頁面出發,沿頁面上的某一個鏈接進行搜索,逐級深入,一直到達底層網頁,才返回起始頁,選擇其他鏈接進行類似的訪問。這種算法可以遍歷一個站點F的深層頁面,但會影響它的遍歷廣度或遍歷的時間,有時還有陷入循環狀態的危險。
IP地址搜索策略將訪問限制在指定的IP地址范圍中,不考慮各文檔中指向其他站點的鏈接。這種算法能夠有針對性地對于特定領域的資源進行采集,適合于按照特定目的編制的搜索引擎。
上述各種方式在實際使用中也可以根據需要,結合使用,例如將廣度優先與深度優先結合等。但一般情況下,這些常規遍歷形式通常只提供一般的訪問算法,并不能優化采集的質量。要改進采集質量,應當按照使用的需要,選擇與系統有較高相關性且質量比較高的網頁,并結合采用相應的優化采集算法。有些論文論述了網絡采集中常用的一些優化算法,包括:
(1)興趣驅動(Interest-driven)。即以用戶需求作為網頁采集的依據。通常依據檢索杏詢與網絡的匹配度確定,方法是依據選定的查詢詞集作為網頁采集的依據,根據查詢詞與網頁文本的匹配程度確定其相關性,同時結合該詞在整個網頁庫中的反文獻頻率(idf),確定其重要性值。由于使用idf項需要的全局信息在采集過程中無法得到,可根據已采集到網頁的平均值或以過去數據的估算值加以代替。
(2)流行驅動(Popularity-driven)。即判斷重要性程度或得到承認的廣泛程度,方法是考察指向它的鏈接數量。采用這一方式,通常應計算出網頁獲得的鏈接數量,并將這一數量作為是否采集的依據。更加全面地判定網頁重要性的方法,是使用Google的PageRank算法,同時計算鏈接該網頁的其他網頁的重要性,但這一方法需要涉及相關網頁的鏈接情況,在采集的情況下很難做到。
(3)網址驅動(Location-driven)。即不是以內容,而是將網址作為判定網頁重要性的依據,包括,對特定域名賦予高值,進行針對性采集;對于包含特定字串如"home"的地址賦予高值;選用帶有較少斜線的網址等。網址驅動容易操作,在特定系統中也十分有用。例如在專業搜索引擎中,可以明確將選定的網站、域名作為網頁采集的邊界。
URL列表的排序控制是在采集控制器中進行的,在未獲得網頁的情況下,網址驅動是一個可以直接加以采用的方式,如北大天網在搜索中采用這一方法;但對于相關性判斷或重要性判斷,由于在訪問過程中,不可能事先得到該網頁數據,一般只能利用采集器已采集的信息作為依據。例如,利用已采集網頁的鎖定文本(Anchor Text)來估計特定網頁可能包含的文本,甚至以“鄰近”網頁的文本作為評估依據等。某個文獻記錄了采用上述方法在有限范圍中試驗的情況。一些論文討論了結合數據挖掘進行采集優化的問題,但目前仍缺乏大型搜索引擎實際應用的例子。