1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 搜索引擎中的網絡蜘蛛技術探析

        時間:2024-09-21 05:40:13 計算機網絡畢業論文 我要投稿
        • 相關推薦

        搜索引擎中的網絡蜘蛛技術探析

          摘要:搜索引擎技術可以從海量的網絡信息中獲得我們想要的信息,隨著網絡信息資源的急劇增長其作用越來越顯著。本文介紹了搜索引擎技術中的網路蜘蛛,分析了其對文件的處理方法,研究了其搜索與更新策略。
          關鍵詞:搜索引擎;網路蜘蛛;更新策略
          
          一 網絡蜘蛛工作原理
          
          網絡蜘蛛,即搜索引擎機器人程序。將整個互聯網想象成一張很大的蜘蛛網,而搜索引擎機器人程序通過鏈接來抓取信息的過程就像是蜘蛛在這張網上爬來爬去一樣。網絡蜘蛛是通過鏈接地址來尋找網頁的。它由一個啟始鏈接開始抓取網頁內容,同時也采集網頁上的鏈接,并將這些鏈接作為它下一步抓取的鏈接地址,如此循環,直到達到某個停止條件后才會停止。停止條件的設定通常是以時間或是數量為依據,有時也會以鏈接的層數來限制網絡蜘蛛的運行。
          
          二 網路蜘蛛與網站的交互問題
          
          網絡蜘蛛訪問一個網站,通常會去尋找一個特殊的文本文件Robots.txt,這個文件如果存在的話通常會放在網站的根目錄下。它是專門用來同網絡蜘蛛交互用的專用文件。它會將網站管理者的意思傳遞給訪問它的網絡蜘蛛,告訴網站同意或是禁止某些或是所有蜘蛛訪問網站的某個特定的網頁或者目錄。它的結構和語法都比較簡單,一般網絡蜘蛛都可以很容易的理解網站的意思。正規的搜索引擎通過讀取這個文件可以很方便的理解網站的意思并按照網站管理者的意思來進行友好的訪問。但是這個僅僅只是網絡的一個約定協議而以,并沒有對其制定相應的強迫手段,更沒有提出相應的懲罰,所以這個約定對于遵守者是有效的,但對于那些不懂生規矩的蜘蛛是一點作用都沒有。
          在網頁中的Meta字段同樣也可以放入和上面文件相同效用的內容,它可以告訴網絡蜘蛛這個網頁對于網站管理者來說,是需要被收錄還是僅僅被瀏覽或是根本就不允許蜘蛛訪問。這個字段通常會放在文檔的頭部,通過讀取這個字段,蜘蛛可以在沒有讀取到全部文檔的情況下就了解文檔的相關信息,可以避免將無效的網頁取下來后又將其廢棄而造成無謂的浪費。同樣這個規則也是沒有特殊限制的,遵守程度完全靠網絡蜘蛛的自覺性和網站的設計方式來決定。為了讓網站被搜索引擎搜索到,尤其是那些網站所有者希望網絡蜘蛛采集的網頁,網站的設計者通常會在網站中放入一個叫做sitmap.htm的網頁,并將它作為網站的入口文件。
          
          三 網絡蜘蛛對于文件的處理
          
          (一)二進制文件處理
          網絡上除了有大量的HTML文件和XML文件外,也有大量的二進制文件。為了使網頁的內容更加豐富,圖片和多媒體文件被網頁大量的引用。它們在網頁上也是以超鏈接的形式出現的,因而在鏈接提取的階段它們也是會被放在待訪問隊列中。對于二進制文件通過文件的內容來完成文件的索引是不現實的,現在的技術還沒有達到可以通過二進制文件來理解文件內容的地步。因而對于這些文件的處理一般是采用單獨處理的方式,其內容的理解完全需要依靠二進制文件的錨點描述來完成。錨點描述通常代表了文件的標題或是基本內容。錨點信息一般是由引用網頁來提供,而不是放在二進制文件本身。二進制文件由于種類的差別問題,也需要分別來進行處理。
          
          (二)腳本文件的處理
          這里說的腳本文件一般指的是包含在網頁中的客戶端腳本,它會在網頁下載到客戶端的時候才會運行,通常會在客戶端上完成一些簡單的交互工作。腳本文件一般會在網頁中負責網頁的顯示工作,但由于ajax技術的廣泛使用,它也會負責與服務器端的交互工作。由于腳本語言的多樣性和復雜性,對它的分析處理無異于制作一個簡單的網頁解析程序。正是因為處理腳本文件相當困難,許多小規模的搜索引擎往往會直接省略對它的處理。但是由于現在網站設計者對于無刷新頁面要求的提高和對ajax技術的大量使用,如果忽略了對它的處理將會是一項巨大的損失。

          (三)不同文件類型處理
          對于網頁內容的提取分析一直是網絡蜘蛛的重要技術環節。對于網上不同文件類型文件的處理,網絡蜘蛛通常是采用插件的方式來處理。它會有一個比較智能化的插件管理程序負責管理不同的插件,對于需要處理的不同類型的文件,它會調用不同的插件來處理。之所以是采用插件的形式,主要是出于擴展性方面的考慮;ヂ摼W上有許多不同類型的文件,不同的文件需要完全不同的處理方式,而且這個網絡是不斷變化的,隨時會有新文件類型出現的可能。而要完成對新類型的處理,最簡單的方法就是給新類型編寫新的插件,然后將插件直接交由管理程序來管理。同時這個插件的編寫最好是由新文件格式的制造者自行完成,通常只有制造者才最了解新格式定義的意義。
          
          四 網絡蜘蛛的策略分析
          
          (一)搜索策略
          網絡蜘蛛的搜索策略指的是如何根據抓取下來的URL地址來選擇訪問地址先后的一種標準或規則。它將指導蜘蛛程序下一步的執行方向。搜索策略一般有深度優先的搜索策略和廣度優先的搜索策略兩種。
          廣度優先的搜索是最簡便的圖搜索算法,在數據結構上通常會以先進先出的隊列結構為主,管理和實現起來都相當的簡單,一般被認為是盲目的搜索。它是一種以搜索更多的網頁為優先的一種貪婪的搜索策略。它會先讀取一個文檔,保存下文檔上的所有鏈接,然后讀取所有這些鏈接文檔,并依次進行下去。這樣做的好處是避免了在極短的時間內連續訪問這臺服務器上的文檔的可能性,因為一個文檔上的鏈接通常會有幾個跳到別的服務器上,這樣做十分有利于避免影響別的服務器工作。這種方法也通常被應用于聚焦爬蟲中。其基本思想是認為與初始uRL在一定鏈接距離內的網頁具有主題相關性的概率很大。同時它還可以使盡可能多的服務器有文檔被索引服務器收集。它的缺點是很難深入到文檔里面,而且隨著抓取網頁的增多,大量的無關網頁將被下載并過濾,算法的效率變得十分的低下。
          深度優先的搜索策略是以先進后出的棧方式來處理URL地址的。網絡蜘蛛程序分析一個文檔,并取出它的第一個鏈接所指的文檔繼續分析,然后如此繼續下去。它的優點就是能夠較好的深入和發掘站點的結構,而且這種算法十分穩定,效率方面也是有所保障的。它對于搜索部分小的網站是有好處的。它的缺點是十分明顯的,不斷的短時間的訪問同一臺服務器的問題將非常的嚴重,而且它還容易陷入無限循環的文檔樹,這種算法處理這個問題的能力相當的有限。
          將兩種算法結合起來也是一種不錯的辦法,這兩種算法互有長短,有些地方也可以形成互補。以一種算法為主,一種算法相輔的辦法可以達到取長補短的效果。除了以上的算法之外,最好優先算法也經常被采用,它通過對采集的鏈接通過一些關于網頁質量和效率的算法來排序,優秀者將優先被抓取。但是這個關于質量和效率的算法則又有許多不同的版本,在這里就不作詳細的展開了。除去這些常用的算法,還有一些不常被人采用的優秀算法,如Hash算法,遺傳算法等。
          
          (二)更新策略
          索引中大量的網頁是很少變化的,對所有的網頁按照同一頻率統一更新是完全沒有必要的。因而以網頁變化的周期為依據,只對那些經常變化的網頁做更新操作也是一些小型的搜索引擎常采用的方法。但是只對部分網頁做更新可能會漏掉一些重要網頁的更新工作,所以網絡爬蟲也經常采用個體更新的策略。它是以個別網頁的變化頻率來決定對網頁的更新頻率,這樣一來基本上每個網頁都會有一個獨立的更新頻率。雖然這樣做對于網頁更新基本做到了變化與更新同步,在邏輯上也最合乎實際情況,但是為每個網頁都維護不同的頻率,在不同的周期上對少數頁面做更新,更新的頻率加快了,每次更新的數量卻減少了,這對于系統來說是極人的浪費。為了解決這種情況,可以將這些頻率按照幾個等級分類,把更新快的和更新慢的分成幾個集合,然后給每個集合定一個甲均的更新的頻率,用這個頻率分別對不同的集合統一進行更新可以平衡以上的矛盾獲得更好的效果。

        【搜索引擎中的網絡蜘蛛技術探析】相關文章:

        網絡直播技術前沿技術探析12-24

        探析智能光網絡技術及發展03-18

        探析校園網絡安全技術03-18

        探析多媒體網絡技術在英語互動式教學中的應用03-18

        探析公路施工中網絡技術的應用03-20

        探析數據融合技術及其在林業中的應用03-18

        探析計算機網絡的防御技術03-26

        計算機網絡管理技術探析03-15

        搜索引擎技術及趨勢11-21

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>