1、目录第 1 章 引言41.1 目的41.2 参考资料4第 2 章 系统概述52.1 模块关系图52.1.1 网页分类子系统52.1.2 二级域名子系统8第 3 章COMMON 模块103.1 模块描述103.2 模块类图103.3 模块序列图113.4 重要类和接口描述12第 4 章 生成种子子系统154.1 模块描述154.2 模块类图164.3 模块序列图174.4 重要类和接口描述18第 5 章 网页数据采集子系统215.1 HTTP 访问组件模块215.1.1 模块描述215.1.2 模块类图225.1.3 模块序列图235.1.4 重要类和接口描述235.2 网页采集 URLS/CO
2、NTENTTYPE 过滤器、分类器模块265.2.1 模块描述265.2.2 模块类图275.2.3 模块序列图275.2.4 重要类和接口描述285.3 网页采集 DB 接口模块325.3.1 模块描述325.3.2 模块类图325.3.3 模块序列图335.3.4 重要类和接口描述335.4 链接抽取逻辑模块345.4.1 网页数据生成子模块345.4.2 网页链接抽取子模块375.4.3 网页链接过滤子模块40第 6 章 预处理子系统446.1 分词模块并建立正向索引模块446.1.1 模块描述446.1.2 模块类图456.1.3 模块序列图466.1.4 重要类和接口描述46第 7
3、章 归类子系统497.1 训练分类器模块497.1.1 模块描述497.1.2 模块类图497.1.3 模块序列图507.1.4 重要类和接口描述507.2 分类模块527.2.1 模块描述527.2.2 模块类图537.2.3 模块序列图547.2.4 重要类和接口描述55第 8 章 导出子系统598.1 导出到规则库598.1.1 业务类型导出到规则库598.1.2 归类列表导出到规则库59第 9 章 二级域名的网页采集609.1 二级域名 HTTP 访问模块609.1.1 模块描述609.1.2 模块类图619.1.3 模块序列图629.1.4 重要类和接口描述62第 10 章二级域名预
4、处理6510.1 二级域名建立正向索引6510.1.1 模块描述6510.1.2 模块类图6510.1.3 模块序列图6610.1.4 重要类和接口描述66第 1 章 引言1.1 目的本说明书的编写目的是为了向用户单位、承建单位的相关人员说明系统总体设计的技术方案,从程序系统的设计角度出发,考虑系统中的整体架构、处理流程、模块划分、功能分配、接口设计、运行环境、数据结构设计和出错处理设计等内容,以向整个设计期提供关于程序系统的逻辑和数据功能实现方式的总体描述,从而作为程序详细设计或编码的基础。设计阶段将以本文档为核心文档。本概要设计说明书的适用读者为:客户代表、业务分析人员、系统架构师、系统开
5、发人员、测试人员。1.2 参考资料序号文档名称作者版本/日期1网络爬虫概要设计说明书广州星博V0.4第 2 章 系统概述系统主要是实现对网络中的某个或某几个入口链接进行数据的采集,并按照主题对所采集的 URL 进行索引及归类,与移动 GPRS/TD 用户所访问 URL 进行匹配,从而发掘用户的潜在需求,以及供用户按照关键字检索网络媒体介质和匹配 URLs 的主题分类等功能。(具体见“网络爬虫概要设计说明书”)2.1 模块关系图2.1.1 网页分类子系统爬虫的一个任务是把(十大)门户网站中的二级目录归类到各个相应主题下面。把目录划分到对应的主题的过程,在爬虫系统中称为网页分类的过程。网页分类的过
6、程分为“种子文件生成”、“网页采集”、“预处理”、“分类”等模块,公共模块(common 模块)是主线程相关的模块。网页分类子系统各个模块之间的联系如下图(图 2-1)所示。 common 模块:common 模块主要是主线程管理各个业务线程实例的产生、启动、停止、监视等功能; 种子生成模块:为网页分类服务的种子生成模块读入了既定格式的种子文件,把读到的种子格式化后持久化;该模块和网页采集子系统的接口即为数据库中的链接种子表; 网页采集模块:网页采集主要是通过 WAP/WWW 网络,把种子库里的链接内容爬取下来,并把内容持久化,以便供预处理处理;该模块还 有一个任务,就是从爬取到的内容中抽取出
7、链接,放到链接种子库中, 以便二次采集;该模块和种子生成模块的数据接口是链接种子表,和 下一个预处理模块的接口是封装的链接内容(SeedContent)表; 预处理模块:预处理模块是把采集到的网页内容“分词”、“计算权重”、“建立索引”的过程;它和网页采集的交互是接受网页采集封装的网页链接内容(SeedContent);它和分类模块的接口是为分类模块提供计算了特征向量的“文档”库; 分类模块:分类是实现网页分类系统的最后也是最重要的一个模块。分类模块分为“训练样本集”、“链接内容分类”和“二级目录划分”等 子模块;大体过程是把需要划分主题的网页内容的文档(下称当前文 档)和经过训练的样例文档比
8、较,找出当前文档和样例文档中最相似 的一份,把找到的这份样例文档的主题类型作为当前文档的主题类型, 形成归类类表;形成归类列表后,切分 URL 中的目录,分类分级计算目录百分比(此内容请参考网络爬虫概要设计说明书之 3.4.4)。 该模块需要的数据是人工维护的“类别库”和未经过训练“样例文档集”,预处理产生的“文档库”;中间产生的数据主要是经过训练的“样例文档集”,最后产生的数据是分好主题类别的目录链接库(CatalogLink)。线程列表网页分类模块交互图封装的链接内容(SeedContent)种子文件线程控制接口种子表模块配置WAP/WWW 网络链接种子种子类别链接内容配置 手动命令主文档
9、库类别库样例文档库链接内容分类后的链接内容(ClassifiedContent)样例文档训练后的文档(TrainingContent)目录链接库(CatalogLink)分类预处理(分词,建立正向索引模块)数据库接口计算词项权重分词读取SeedContent网页采集种子生成模块持久化训练样例文档计算二级目录分类百分比过滤链接属性下载链接过滤链接种子抽取链接生成网页数据链接属性格式化种子读种子文件查看线程状态查看线程数停止启动(图 2-1)网页分类子系统描述图2.1.2 二级域名子系统爬虫的另一个任务是给嗅探数据中用户访问的部分二级域名打上标题。该 过程在爬虫中称为“二级域名子系统”。二级域名子
10、系统分为“种子生成模块”、“二级域名 Http 访问模块”和“二级域名建立正向索引”等业务模块,同时也会受 common 模块管理。二级域名子系统各个模块之间的联系如下图(图 2-2)所示。该模块和网页分类子系统的种子生成模块基本一样;它从嗅探下来的数据库中根据既定的规则筛选出部分二级域名,格式化后存入数据库中,作为种子;该模块和二级域名 Http 访问模块的接口是链接种子表; 二级域名 Http 访问模块:本模块是爬去种子链接的内容,并把内容持久化的过程;它和种子生成模块的交互数据是链接种子库,和二级域名建立正向索引的接口是二级域名链接内容(DomianContent)表; 二级域名建立正向
11、索引:本模块是给二级域名链接内容抽取标题并持久化的过程。它和二级域名 Http 访问模块的接口是二级域名链接内容(DomianContent)表,最终抽取的标题也更新到 DomainContent 中去。二级域名子系统模块交互图种子队列嗅探数据二级域名链接内容(DomainContent)抽取标题读链接内容二级域名建立正向索引爬取内容读种子队列二级域名Http访问模块(图 2-2)二级域名子系统描述图第 3 章 common模块3.1 模块描述本模块管理着爬虫系统的所有业务活动的线程,实现业务活动线程的启动、停止、状态监控等功能; 输入:1. 配置文件关于各类业务线程相关信息(包括线程数,线程睡眠时间等);2. 用户控制台的命令输入; 输出:1. 各类业务线程的生命活动控制结果;2. 线程状态监控报告; 活动时机:1. 爬虫程序启动时;2. 用户输入命令时;3. 业务线程活动异常时(待扩展);3.2 模块类图3.3 模块序列图: ThreadInstanceCreator1. InstanceCreator(String)2. run( )2.1. new2.2. instanceCreate(String)InstanceManagerInstanceRemover1. InstanceRemove
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1