輕量級爬蟲+全文檢索解決方案項目——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#開發,預期分爬蟲,索引和搜尋三部分。目前正在開發爬蟲部分。
上圖為該爬蟲爬行資料時輸出資訊。
目前爬蟲的工作流程為:
1、設定起始位址、抓取規則、通路深度等;
2、爬蟲提取資料配置設定任務;
3、多線程運作捕獲任務;
4、分析捕獲文本,設定為規則文本,同時存入資料庫和在磁盤生成快照。
生成索引和搜尋部分暫未完成。
爬蟲實作了:
1、多線程抓取;
2、編碼識别(對部分站點測試,準确率98%以上);
3、網頁快照。
下一步實作:
1、多程序分布式抓取;
2、壞鍊處理;
3、失敗處理等。
目前爬蟲的工作方式:
tags: C#爬蟲,C#蜘蛛,C#搜尋引擎,.Net爬蟲,.Net蜘蛛,.Net搜尋引擎。
2008-10-28 by yurow.