程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C#2.0實現網絡蜘蛛(WebSpider)(1)

用C#2.0實現網絡蜘蛛(WebSpider)(1)

編輯:關於C語言

摘要:本文討論了如何使用C#2.0實現抓取網絡資源的網絡蜘蛛。使用這個程序,可以通過一個入口網址(如http://www.comprg.com.cn)來掃描整個互聯網的網址,並將這些掃描到的網址所指向的網絡資源下載到本地。然後可以利用其他的分析工具對這些網絡資源做進一步地分析,如提取關鍵詞、分類索引等。也可以將這些網絡資源作為數據源來實現象Google一樣的搜索引擎。

關鍵詞:C#2.0,Html,網絡蜘蛛, 鍵樹,正則表達式

一、引言

在最近幾年,以Google為首的搜索引擎越來越引起人們的關注。由於在Google出現之前,很多提供搜索服務的公司都是使用人工從網絡上搜集信息,並將這些信息分類匯總後作為搜索引擎的數據源。如yahoo公司一開始就是通過數千人不停地從網上搜集供查詢的信息。這樣做雖然信息的分類會很人性化,也比較准確,但是隨著互聯網信息爆炸式地增長,通過人工的方式來搜集信息已經不可能滿足網民對信息的需求了。然而,這一切隨著Google的出現而得到了徹底改變。Google一反常規的做法,通過程序7*24地從網上不停地獲取網絡資源,然後通過一些智能算法分析這些被下載到本地的網絡資源,最後將這些分析後的數據進行索引後就形成了一套完整的基本上不需要人工干預的搜索引擎。使用這種模式的搜索引擎甚至可以在幾天之內就可獲取Internet中的所有信息,同時也節省了大量的資金和時間成本。而這種搜索引擎最重要的組成部分之一就是為搜索引擎提供數據源的網絡蜘蛛。也就是說,實現網絡蜘蛛是實現搜索引擎的第一步,也是最重要的一步。

二、網絡蜘蛛的基本實現思想和實現步驟

網絡蜘蛛的主要作用是從Internet上不停地下載網絡資源。它的基本實現思想就是通過一個或多個入口網址來獲取更多的URL,然後通過對這些URL所指向的網絡資源下載並分析後,再獲得這些網絡資源中包含的URL,以此類推,直到再沒有可下的URL為止。下面是用程序實現網絡蜘蛛的具體步驟。

1. 指定一個(或多個)入口網址,並將這個網址加入到下載隊列中(這時下載隊列中只有一個或多個入口網址)。

2. 負責下載網絡資源的線程從下載隊列中取得一個或多個URL,並將這些URL所指向的網絡資源下載到本地(在下載之前,一般應該判斷一下這個URL是否已經被下載過,如果被下載過,則忽略這個URL)。如果下載隊列中沒有URL,並且所有的下載線程都處於休眠狀態,說明已經下載完了由入口網址所引出的所有網絡資源。這時網絡蜘蛛會提示下載完成,並停止下載。

3. 分析這些下載到本地的未分析過的網絡資源(一般為Html代碼),並獲得其中的URL(如標簽中href屬性的值)。

4. 將第3步獲得的URL加入到下載隊列中。並重新執行第2步。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved