导读:
C#.NET 网络蜘蛛设计模式
【 KEYS 】C#.NET,线程,网络蜘蛛,Vector ,数组,XML,排序算法,Meta Search.
【详细计划】
列表:
1.搜集蜘蛛引擎开发信息。
2.建立UrlTreeNode(URL索引树),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标记,空格,换行, 等标记,以及标记内部信息。保存文本。
考虑到URL->关键字->文本的处理路径。
使用XML存储相关项或数据库关键字插入(信息量可能过大,造成冗余)。
7.检索过程:
根据提交关键字和查找项目,遍历XML或数据库相关字段,将信息保存自HASH表中,或DATAGRID,然后根据自定义“排序算法”进行排序和统计。
返回处理结果。
本文转自
http://blog.programfan.com/article.asp?id=18670
C#.NET 网络蜘蛛设计模式
【 KEYS 】C#.NET,线程,网络蜘蛛,Vector ,数组,XML,排序算法,Meta Search.
【详细计划】
列表:
1.搜集蜘蛛引擎开发信息。
2.建立UrlTreeNode(URL索引树),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标记,空格,换行, 等标记,以及标记内部信息。保存文本。
考虑到URL->关键字->文本的处理路径。
使用XML存储相关项或数据库关键字插入(信息量可能过大,造成冗余)。
7.检索过程:
根据提交关键字和查找项目,遍历XML或数据库相关字段,将信息保存自HASH表中,或DATAGRID,然后根据自定义“排序算法”进行排序和统计。
返回处理结果。
本文转自
http://blog.programfan.com/article.asp?id=18670