网络爬虫系统详细设计说明书V0.2.1文档格式.docx

上传人:b****1 文档编号:13195317 上传时间:2022-10-08 格式:DOCX 页数:68 大小:4.07MB
下载 相关 举报
网络爬虫系统详细设计说明书V0.2.1文档格式.docx_第1页
第1页 / 共68页
网络爬虫系统详细设计说明书V0.2.1文档格式.docx_第2页
第2页 / 共68页
网络爬虫系统详细设计说明书V0.2.1文档格式.docx_第3页
第3页 / 共68页
网络爬虫系统详细设计说明书V0.2.1文档格式.docx_第4页
第4页 / 共68页
网络爬虫系统详细设计说明书V0.2.1文档格式.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

网络爬虫系统详细设计说明书V0.2.1文档格式.docx

《网络爬虫系统详细设计说明书V0.2.1文档格式.docx》由会员分享,可在线阅读,更多相关《网络爬虫系统详细设计说明书V0.2.1文档格式.docx(68页珍藏版)》请在冰豆网上搜索。

网络爬虫系统详细设计说明书V0.2.1文档格式.docx

目 录

第1章引言 4

1.1目的 4

1.2参考资料 4

第2章系统概述 5

2.1模块关系图 5

2.1.1网页分类子系统 5

2.1.2二级域名子系统 8

第3章 COMMON模块 10

3.1模块描述 10

3.2模块类图 10

3.3模块序列图 11

3.4重要类和接口描述 12

第4章生成种子子系统 15

4.1模块描述 15

4.2模块类图 16

4.3模块序列图 17

4.4重要类和接口描述 18

第5章网页数据采集子系统 21

5.1HTTP访问组件模块 21

5.1.1模块描述 21

5.1.2模块类图 22

5.1.3模块序列图 23

5.1.4重要类和接口描述 23

5.2网页采集URLS/CONTENTTYPE过滤器、分类器模块 26

5.2.1模块描述 26

5.2.2模块类图 27

5.2.3模块序列图 27

5.2.4重要类和接口描述 28

5.3网页采集DB接口模块 32

5.3.1模块描述 32

5.3.2模块类图 32

5.3.3模块序列图 33

5.3.4重要类和接口描述 33

5.4链接抽取逻辑模块 34

5.4.1网页数据生成子模块 34

5.4.2网页链接抽取子模块 37

5.4.3网页链接过滤子模块 40

第6章预处理子系统 44

6.1分词模块并建立正向索引模块 44

6.1.1模块描述 44

6.1.2模块类图 45

6.1.3模块序列图 46

6.1.4重要类和接口描述 46

第7章归类子系统 49

7.1训练分类器模块 49

7.1.1模块描述 49

7.1.2模块类图 49

7.1.3模块序列图 50

7.1.4重要类和接口描述 50

7.2分类模块 52

7.2.1模块描述 52

7.2.2模块类图 53

7.2.3模块序列图 54

7.2.4重要类和接口描述 55

第8章导出子系统 59

8.1导出到规则库 59

8.1.1业务类型导出到规则库 59

8.1.2归类列表导出到规则库 59

第9章二级域名的网页采集 60

9.1二级域名HTTP访问模块 60

9.1.1模块描述 60

9.1.2模块类图 61

9.1.3模块序列图 62

9.1.4重要类和接口描述 62

第10章 二级域名预处理 65

10.1二级域名建立正向索引 65

10.1.1模块描述 65

10.1.2模块类图 65

10.1.3模块序列图 66

10.1.4重要类和接口描述 66

第1章引言

1.1目的

本说明书的编写目的是为了向用户单位、承建单位的相关人员说明系统总体设计的技术方案,从程序系统的设计角度出发,考虑系统中的整体架构、处理流程、模块划分、功能分配、接口设计、运行环境、数据结构设计和出错处理设计等内容,以向整个设计期提供关于程序系统的逻辑和数据功能实现方式的总体描述,从而作为程序详细设计或编码的基础。

设计阶段将以本文档为核心文档。

本概要设计说明书的适用读者为:

客户代表、业务分析人员、系统架构师、系统开发人员、测试人员。

1.2参考资料

序号

文档名称

作者

版本/日期

1

网络爬虫概要设计说明书

广州星博

V0.4

第2章系统概述

系统主要是实现对网络中的某个或某几个入口链接进行数据的采集,并按照主题对所采集的URL进行索引及归类,与移动GPRS/TD用户所访问URL进行匹配,从而发掘用户的潜在需求,以及供用户按照关键字检索网络媒体介质和匹配URLs的主题分类等功能。

(具体见“网络爬虫概要设计说明书”)

2.1模块关系图

2.1.1网页分类子系统

爬虫的一个任务是把(十大)门户网站中的二级目录归类到各个相应主题下面。

把目录划分到对应的主题的过程,在爬虫系统中称为网页分类的过程。

网页分类的过程分为“种子文件生成”、“网页采集”、“预处理”、“分类”等模块,公共模块(common模块)是主线程相关的模块。

网页分类子系统各个模块之间的联系如下图(图2-1)所示。

Ø

common模块:

common模块主要是主线程管理各个业务线程实例的产生、启动、停止、监视等功能;

种子生成模块:

为网页分类服务的种子生成模块读入了既定格式的种子文件,把读到的种子格式化后持久化;

该模块和网页采集子系统的接口即为数据库中的链接种子表;

网页采集模块:

网页采集主要是通过WAP/WWW网络,把种子库里的链接内容爬取下来,并把内容持久化,以便供预处理处理;

该模块还有一个任务,就是从爬取到的内容中抽取出链接,放到链接种子库中,以便二次采集;

该模块和种子生成模块的数据接口是链接种子表,和下一个预处理模块的接口是封装的链接内容(SeedContent)表;

预处理模块:

预处理模块是把采集到的网页内容“分词”、“计算权重”、

“建立索引”的过程;

它和网页采集的交互是接受网页采集封装的网页链接内容(SeedContent);

它和分类模块的接口是为分类模块提供计算了特征向量的“文档”库;

分类模块:

分类是实现网页分类系统的最后也是最重要的一个模块。

分类模块分为“训练样本集”、“链接内容分类”和“二级目录划分”等子模块;

大体过程是把需要划分主题的网页内容的文档(下称当前文档)和经过训练的样例文档比较,找出当前文档和样例文档中最相似的一份,把找到的这份样例文档的主题类型作为当前文档的主题类型,形成归类类表;

形成归类列表后,切分URL中的目录,分类分级计算目录百分比(此内容请参考《网络爬虫概要设计说明书》之3.4.4)。

该模块需要的数据是人工维护的“类别库”和未经过训练“样例文档集”,预处理产生的“文档库”;

中间产生的数据主要是经过训练的

“样例文档集”,最后产生的数据是分好主题类别的目录链接库

(CatalogLink)。

线程列表

网页分类模块交互图

封装的链接内容

(SeedContent)

种子文件

线程

控制接口

种子表

模块

配置

WAP/WWW网络

链接种子

种子

类别

链接内容 配置

手动

命令

文档库

类别库

样例文档库

链接内容

分类后的链接内容

(ClassifiedContent)

样例文档

训练后的文档

(TrainingContent)

目录链接库

(CatalogLink)

分类

预处理(分词,建立正向索引模块)

数据库接口

计算词项权重

分词

读取SeedContent

网页采集

种子生成模块

持久化

训练样例文档

计算二级目录分类百分比

过滤链接属性

下载链接

过滤链接种子

抽取链接

生成网页数据

链接属性

格式化种子

读种子文件

查看线程状态

查看线程数

停止

启动

(图2-1)网页分类子系统描述图

2.1.2二级域名子系统

爬虫的另一个任务是给嗅探数据中用户访问的部分二级域名打上标题。

该过程在爬虫中称为“二级域名子系统”。

二级域名子系统分为“种子生成模块”、

“二级域名Http访问模块”和“二级域名建立正向索引”等业务模块,同时也会受common模块管理。

二级域名子系统各个模块之间的联系如下图(图2-2)所示。

该模块和网页分类子系统的种子生成模块基本一样;

它从嗅探下来的数据库中根据既定的规则筛选出部分二级域名,格式化后存入数据库中,作为种子;

该模块和二级域名Http访问模块的接口是链接种子表;

二级域名Http访问模块:

本模块是爬去种子链接的内容,并把内容持久化的过程;

它和种子生成模块的交互数据是链接种子库,和二级域名建立正向索引的接口是二级域名链接内容(DomianContent)表;

二级域名建立正向索引:

本模块是给二级域名链接内容抽取标题并持久化的过程。

它和二级域名Http访问模块的接口是二级域名链接内容

(DomianContent)表,最终抽取的标题也更新到DomainContent中去。

二级域名子系统模块交互图

种子队列

嗅探数据

二级域名链接内容

(DomainContent)

抽取标题

读链接内容

二级域名建立正向索引

爬取内容

读种子队列

二级域名Http访问模块

(图2-2)二级域名子系统描述图

第3章common 模块

3.1模块描述

本模块管理着爬虫系统的所有业务活动的线程,实现业务活动线程的启动、停止、状态监控等功能;

输入:

1.配置文件关于各类业务线程相关信息(包括线程数,线程睡眠时间等);

2.用户控制台的命令输入;

输出:

1.各类业务线程的生命活动控制结果;

2.线程状态监控报告;

活动时机:

1.爬虫程序启动时;

2.用户输入命令时;

3.业务线程活动异常时(待扩展);

3.2模块类图

3.3模块序列图

:

Thread

InstanceCreator

1.InstanceCreator(String)

2.run()

2.1.new

2.2.instanceCreate(String)

InstanceManager

InstanceRemover

1.InstanceRemove

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1