2010-05-05 41 views

回答

0

How Stuff Works

如何任何蜘蛛在Web上開始它的旅行?通常的起點是大量使用的服務器和非常流行的頁面列表。蜘蛛將從一個受歡迎的網站開始,將其網頁上的文字編入索引,並追蹤該網站中的每個鏈接。通過這種方式,蜘蛛系統迅速開始傳播,遍佈網絡最廣泛使用的部分。

3

具體來說,你至少需要以下一些部分組成:

  • 配置:要告訴爬蟲如何,何時何地連接到文件;以及如何連接到底層數據庫/索引系統。
  • 連接器:這將創建連接到網頁或磁盤共享或任何東西,真的。
  • 內存:抓取工具必須知道已經訪問過的網頁。這通常存儲在索引中,但取決於實現和需求。該內容也用於重複數據刪除和更新驗證目的。
  • 解析器/轉換器:需要能夠理解文檔的內容並提取元數據。將提取的數據轉換爲底層數據庫系統可用的格式。
  • 索引器:將數據和元數據推送到數據庫/索引系統。
  • 調度程序:計劃抓取工具的運行。可能需要同時處理大量運行的爬蟲,並考慮當前正在執行的操作。
  • 連接算法:當解析器找到與其他文檔的鏈接時,需要分析何時,如何以及何處必須建立下一個連接。另外,一些索引算法考慮了頁面連接圖,因此可能需要存儲和分類與之相關的信息。
  • 策略管理:某些站點要求抓取工具遵守某些策略(例如robots.txt)。
  • 安全/用戶管理:爬蟲程序可能需要能夠在某個系統中登錄才能訪問數據。
  • 內容編輯/執行:爬蟲可能需要執行某些內容才能訪問內容,比如applets/plugins。

從不同的起點,速度,內存使用和使用大量的線程/進程一起工作時,爬行程序需要高效。 I/O是關鍵。

3

萬維網基本上是一個網絡文檔,圖像,多媒體文件等的連接有向圖。圖的每個節點都是網頁的組成部分,例如,一個網頁由圖像,文本,視頻等,所有這些都鏈接在一起。抓取工具使用廣度優先搜索使用網頁中的鏈接遍歷圖形。

  1. 爬網程序最初以一個(或多個)種子點開始。
  2. 它掃描網頁並探索該頁面中的鏈接。
  3. 該過程一直持續到探索所有圖形爲止(可以使用某些預定義約束來限制搜索深度)。
相關問題