Tom-Net

导航

用C#2.0实现网络蜘蛛(WebSpider)

http://dev.yesky.com/6/8113006.shtml

 

 

C#.NET网络蜘蛛设计模式

KEYSC#.NET 线程, 网络蜘蛛, Vector ,数组 XML 排序算法,Meta Search.

【详细计划】

列表

1. 搜集蜘蛛引擎开发信息。

2. 建立UrlTreeNodeURL索引树),HashTable(哈希表)保存相关键值,XML数据交换BUFF

3. 算法选择: 单线程选用DFS(深度优先),多线程选用BFS(广度优先),视情况而定。

4. 相关数据处理:

(1)       读取URL:读取当前URL,分析链接(1/0),进入UnVisited.xml/Visited.xml

(2)       处理URL:读取UnVisited.xml,返回(1)。

(3)       直到UnVisited.xml为空,否则(2)。

(4)       索引树的建立:与(2)同时进行(仅针对BFS算法)。

5. 算法实现:

BFS:

Begin Visit index:

      ClientPage:=index

      Push ClientPage into the end of UnVisited table

      While UnVisited 非空 then

          ClientPage:=UnVisited.top

          Visit ClientPage

          UnVisited.pop

          Push ClientPage into Visited

       End while

End begin

 

DFS:

    Begin:

          Build new Vector[] of self collections : url(二维)

          ClientPage:=index

          Push ClientPage into the header of Unvisited talbe

          While UnVisited 非空 then

          ClientPage:=UnVisited.top

          Visit ClientPage

          UnVisited.pop

          Push ClientPage into Visited

       End while

End begin

6. 处理规则以及存储方式:

     抓取当前网页,经过字符串(正则表达式)处理后,去除HTML标记,空格,换行,<style></style>  <language>等标记,以及标记内部信息。保存文本。

考虑到 URL> 关键字->文本 的处理路径。

使用XML存储相关项或数据库关键字插入(信息量可能过大,造成冗余)。

7. 检索过程:

根据提交关键字和查找项目,遍历XML或数据库相关字段,将信息保存自HASH表中,或DATAGRID,然后根据自定义“排序算法”进行排序和统计。

返回处理结果。

8. 相关知识及背景:

C#.NET高级编程

XML原理和应用

Windows Sorkets programming

通用搜索算法(主要是DFSBFS

SQL相关

正则表达式

.NET常用控件

…………………………..

9. 周期:

922108

posted on 2008-09-24 14:49  Tom_Net  阅读(361)  评论(0)    收藏  举报