天天看點

輕量級爬蟲+全文檢索解決方案項目——NukeLite(2008-11-14 更新r24版 引入新線程機制)

輕量級爬蟲+全文檢索解決方案項目——NukeLite

svn: http://nukelite.googlecode.com/svn/trunk/

=================================================================

2008-11-14更新:

版本更新為 0.1.0.0 r24

 更新項:

1、調整資料庫插件調用結構;

2、提升引擎對編碼識别的效果;

3、舍棄了ThreadPool的操作方式,引入了完成端口來控制線程,主要解決了同時線程并發太多導緻的逾時現象比較嚴重的問題,當然也使抓取速度慢了一些。

下次改進應該會對抓取與文本處理進行分離。

提供目前版本編譯預覽檔案下載下傳:(格式RAR)

<a href="http://nukelite.googlecode.com/files/NukeLite%20v0.1.0.0%20r24%20Preview2.rar">NukeLite v0.1.0.0 r24 Preview2.rar</a>

2008-11-03更新:

版本更新為 0.1.0.0 r18

更新項:

1、修正了MySQL操作參數名規範

2、修正了Web管理任務無法設定層次的問題;

3、修正MySQL資料庫結構中,UrlHash字段的類型為有符号int;

4、解決了多線程抓取任務不太穩定的問題,現在已經很穩定;

5、新增一個Windows系統服務項目,可以把程式配置為Windows系統服務,安裝檔案放在“ServiceRelease”目錄。

總的來說,現在的爬蟲可以稱得上比較穩定了,至于是否高效,不太好說。在我本本上,54M無線網卡,1M帶寬,雙核1.6 CPU,3G記憶體,基本上每秒1.5條記錄。

2008-10-31更新:

版本更新為 0.1.0.0 r16

1、網站項目替換為應用程式項目;

2、改變資料庫使用架構;

3、增加對MySQL資料庫的支援。

注意:資料庫操作采用的是MySQL Connector/Net ,操作編碼要注意正确選擇。系統預設給出的是utf-8。

現在對MS SQLServer 以及MySQL的通路是采用的工廠,請手動複制DLL到測試類應用。

本版本在 SQL Server 2005,MySQL 5下測試通過,不保證其它版本能穩定運作。

2008-10-30更新:

版本更新為 0.1.0.0 r10

1、增加了Web管理任務項目;

2、改變了解決方案路徑;

3、去掉了一些不必要的引用;

4、修改了部分代碼編譯級的寫法,更加适合标準C#編譯,除了Web項目,其它兩項在Ubuntu 8.04 MonoDevelop 1.0下編譯通過。

另外,和一位網友交談,受到啟發,将會在頁面捕獲處增加插件結構支援,以适應需要對網頁結構做更細緻處理的需求。比如,通過寫某個dll給程式調用,則可以分析出定向網站網頁中的日期、作者、分類等資訊。開發時間未定,有興趣的朋友可以和我交流。

2008-10-29更新:

版本更新為 0.1.0.0 r7

1、不再使用ADO.Net Entity Framework

2、使用架構改為.Net Framework 2.0

3、修正了資料庫一個字段的名稱以及部分字段的長度

4、更新了部分注釋

==================================================================

項目簡介:

嘿嘿,我自己寫的一個輕量級的解決方案,希望以這個項目為開始,發展成一個健全,強大的全文搜尋解決方案。

運作平台:.Net Framework 2.0 / Mono

資料庫: MS SQLServer 2005 / MySQL 5

HTTP服務: IIS / Apache

項目采用C#開發,預期分爬蟲,索引和搜尋三部分。目前正在開發爬蟲部分。

輕量級爬蟲+全文檢索解決方案項目——NukeLite(2008-11-14 更新r24版 引入新線程機制)

上圖為該爬蟲爬行資料時輸出資訊。

目前爬蟲的工作流程為:

1、設定起始位址、抓取規則、通路深度等;

2、爬蟲提取資料配置設定任務;

3、多線程運作捕獲任務;

4、分析捕獲文本,設定為規則文本,同時存入資料庫和在磁盤生成快照。

生成索引和搜尋部分暫未完成。

爬蟲實作了:

1、多線程抓取;

2、編碼識别(對部分站點測試,準确率98%以上);

3、網頁快照。

下一步實作:

1、多程序分布式抓取;

2、壞鍊處理;

3、失敗處理等。

目前爬蟲的工作方式:

輕量級爬蟲+全文檢索解決方案項目——NukeLite(2008-11-14 更新r24版 引入新線程機制)

tags: C#爬蟲,C#蜘蛛,C#搜尋引擎,.Net爬蟲,.Net蜘蛛,.Net搜尋引擎。

2008-10-28  by yurow.