當前位置:編程學習大全網 - 編程語言 - 什麽是Spider程序

什麽是Spider程序

Spider又叫WebCrawler或者Robot,是壹個沿著鏈接漫遊Web 文檔集合的程序。它壹般駐留在服務器上,通過給定的壹些URL,利用HTTP等標準協議讀取相應文檔,然後以文檔中包括的所有未訪問過的URL作為新的起點,繼續進行漫遊,直到沒有滿足條件的新URL為止。WebCrawler的主要功能是自動從Internet上的各Web 站點抓取Web文檔並從該Web文檔中提取壹些信息來描述該Web文檔,為搜索引擎站點的數據庫服務器追加和更新數據提供原始數據,這些數據包括標題、長度、文件建立時間、HTML文件中的各種鏈接數目等

1. 搜索策略

① IP 地址搜索策略

先賦予爬蟲壹個起始的IP地址,然後根據IP地址遞增的方式搜索本IP地址段後的每壹個WWW地址中的文檔,它完全不考慮各文檔中指向其它Web 站點的超級鏈接地址。優點是搜索全面,能夠發現那些沒被其它文檔引用的新文檔的信息源;缺點是不適合大規模搜索。

② 深度優先搜索策略

深度優先搜索是壹種在開發爬蟲早期使用較多的方法。它的目的是要達到被搜索結構的葉結點(即那些不包含任何超鏈的HTML文件) 。在壹個HTML文件中,當壹個超鏈被選擇後,被鏈接的HTML文件將執行深度優先搜索,即在搜索其余的超鏈結果之前必須先完整地搜索單獨的壹條鏈。深度優先搜索沿著HTML文件上的超鏈走到不能再深入為止,然後返回到某壹個HTML文件,再繼續選擇該HTML文件中的其他超鏈。當不再有其他超鏈可選擇時,說明搜索已經結束。優點是能遍歷壹個Web 站點或深層嵌套的文檔集合;缺點是因為Web結構相當深,,有可能造成壹旦進去,再也出不來的情況發生。

③ 寬度優先搜索策略

在寬度優先搜索中,先搜索完壹個Web 頁面中所有的超級鏈接,然後再繼續搜索下壹層, 直到底層為止。例如,壹個HTML 文件中有三個超鏈,選擇其中之壹並處理相應的HTML文件,然後不再選擇第二個HTML文件中的任何超鏈, 而是返回並選擇第二個超鏈,處理相應的HTML文件,再返回,選擇第三個超鏈並處理相應的HTML文件。壹旦壹層上的所有超鏈都己被選擇過,就可以開始在剛才處理過的HIML 文件中搜索其余的超鏈。這就保證了對淺層的首先處理。當遇到壹個無窮盡的深層分支時,不會導致陷進WWW 中的深層文檔中出現出不來的情況發生。寬度優先搜索策略還有壹個優點,即它能在兩個HTML文件之間找到最短路徑。寬度優先搜索策略通常是實現爬蟲的最佳策略,因為它容易實現,而且具備大多數期望的功能。但是如果要遍歷壹個指定的站點或者深層嵌套的HTML文件集,用寬度優先搜索策略則需要花費比較長的時間才能到達深層的HTML文件。綜合考慮以上幾種策略和國內信息導航系統搜索信息的特點,國內壹般采用以寬度優先搜索策略為主、線性搜索策略為輔的搜索策略。對於某些不被引用的或很少被引用的HTML文件,寬度優先搜索策略可能會遺漏這些孤立的信息源,可以用線性搜索策略作為它的補充。

④ 專業搜索引擎的爬蟲策略

目前,專業搜索引擎網絡爬蟲通常采用“最好優先”原則訪問WEB,即為快速、有效地獲得更多的與主題相關的頁面(簡稱“回報”),每次選擇“最有價值”的鏈接進行訪問。由於鏈接包含於頁面之中,而通常具有較高價值的頁面包含的鏈接也具有較高的價值,因而對鏈接價值的評價有時也轉換為對頁面價值的評價。

⑤ 爬蟲的設計中應該註意的問題

第壹個問題是URL地址的標準化:在WWW上,壹個URL地址可以有多種表示方法,可以用IP地址表示,也可以用域名來表示。為了避免爬蟲重復訪問同壹地址。第二個問題是避免掉進網絡陷阱:網絡上的鏈接情況比較復雜,壹些靜態的網頁可能構成閉環回路。為了避免爬蟲在壹條循環路線上反復抓取,在把URL加入待搜索地址列表之前都要檢查是否已在待搜索的地址列表中出現過。對於動態網頁,爬蟲應該忽略所有帶參數的URL。第三個問題:對於拒絕訪問的頁面,爬蟲應該遵從“漫遊拒絕訪問規則”。

  • 上一篇:HL7的其他信息
  • 下一篇:Raspberry Pi詳細資料大全
  • copyright 2024編程學習大全網