搜索引擎面對海量的網頁,他們并不是平行的抓取每一個網頁,因為無論搜索引擎數據庫怎么擴張,都是無法跟上網頁的增長速度,搜索引擎會優先抓取最重要的網頁,一方面節省數據庫,一方面對普通的用戶也是有幫助的,因為,對用戶來說,他們并不需要海量的結果,只需要最重要的結果。所以說一個好的搜集策略是優先搜集重要的網頁,以便能夠在最短的時間內把最重要的網頁抓取過來。
那么搜索引擎如何首先抓取最重要的網頁?
通過對海量的網頁特征分析,搜索引擎認為重要的網頁有如下的基本特征,雖然不一定完全準確,但是大多數時候確實是這樣的:
1) 網頁被其他的網頁鏈接的特點,如果被鏈接的次數多或者被重要的網頁所鏈接,則是很重要的網頁;
2) 某網頁的父網頁被鏈接的次數多或者被重要的網頁所鏈接,比如一個網頁是一個網站的內頁,但是其首頁被鏈接的次數多,而首頁也鏈接了這個網頁,則說明這個網頁也比較重要;
3) 網頁的內容被轉載傳播的廣。
4) 網頁的目錄深度小,易于用戶瀏覽到。 這里定義“URL 目錄深度”為:網頁 URL 中除去域名部分的目錄層次,即URL 為http://www.domain.com,則目錄深度為 0;如果是 http://www.domain.com/cs,則目錄深度為 1,一次類推。需要說明的是,URL 目錄深度小的網頁并非總是重要的,目錄深度大的網頁也并非全不重要,有些學術論文的網頁 URL 就有很長的目錄深度。多數重要度高的網頁會同時具有上述 4 個特征。
5)優先收集網站首頁,并賦予首頁高的權重值。網站數目遠小于網頁數,并且重要的網頁也必然是從這些網站首頁鏈接過去的,因此搜集工作應當優先獲得盡可能多的網站首頁。
這里問題就隨之出現,搜索引擎開始抓取網頁的時候,可能既不知道網頁被鏈接的情況也不知道被轉載的情況,換句話說,最開始的時候他并不能知道前面3項的特征,這些因素只能在獲得網頁或幾乎所有的 Web 鏈接結構之后才能夠知道。那么怎么解決這個問題呢?那就是特征4和5是可以在抓取的時候就能知道的,只有特征 4 是不需要知道網頁的內容(沒有抓取網頁之前)就可以確定某個 URL 是否符合“重要”的標準,而且網頁 URL 目錄深度的計算就是對字符串的處理,統計結果表明一般的 URL 長度都小于 256 個字符,這使得 URL 目錄深度的判別易于實現。所以對于搜集策略的確定,特征 4 和5是最值得考慮的指導因素。
但是,特征 4 和5具有局限性,因為鏈接的深度并不能完全表明這個網頁的重要程度。那么怎么解決這個問題?搜索引擎采用如下的辦法:
1) URL 權值的設定:根據 URL 的目錄深度來定,深度是多少,權值就減少多少,權值最小為零。
2) 設定 URL 初始權值為 一個固定的數值 。
3) URL 中出現字符”/”,”?” ,或”&” 1 次, 則權值減 一個數值 ,出
現”search”,”proxy”,或”gate” 1 次,則權值減一個數值;最多減到零。(包含”?”,
或”&” 的URL 是帶參數的形式,需要經過被請求方程序服務獲得網頁,不是搜索引擎系統側重的靜態網頁,因此權值相應降低。包含”search”,”proxy”,或”gate” ,說明該網頁極大可能是搜索引擎中檢索的結果頁面,代理頁面,因此要降低權值)。
4) 選擇未訪問 URL 的策略。因為權值小不一定說明不重要,所以有必要
給一定的機會搜集權值小的未訪問 URL 。選擇未訪問 URL 的策略可以采用輪流的方法進行,一次按照權值排序取,一次隨機取;或者 N次隨機選取。
當搜索引擎抓取了大量的網頁的時候,然后進入到一個階段,對網頁進行前面3個特征的判讀,再通過大量的算法判斷網頁的質量,然后給予相對的排名。
本文由51荷葉茶http://www.51heyecha.com/站長原創提供