什麼是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。第三個問題:對於拒絕訪問的頁面,爬蟲應該遵從“漫遊拒絕訪問規則”。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章