[硕士论文] 垂直搜索引擎的设计与实现
西北工业大学硕士学位论文第三章Web搜集器
Web搜集器负责从种子网页开始收集主题相关的网页,该模块的执行效率决
定了垂直搜索引擎的效率。为提高垂直搜索引擎的执行效率,Web搜集器采用多线程并行地进行网页的下载和分析.本节详细介绍了Web搜集器的主要类、接口与数据库设计。
(1)CrawlerState类
状态类CrawlerState管理Web搜集器的状态.其状态设计如表3-1所示:
各状态之间的转化关系如图3—1所示。
(2)Page类
Page类封装了网页的属性和操作。当发现一个新的链接(URL)时将其存
入数据库中等待下载,下载完毕后创建一个Page对象,等待Crawler线程进行分析。
Page类的主要数据成员如下:
URLbase;//网页的URL地址,比如www.yahoo.coln.皿
Stringtitle://网页的标题
Stringcontent;//网页的主要内容
Region[]tokens;
Text[】words;
Tag[]tagsl//网页中的所有标签
Element[]element;//网页文档结构树中的所有节点
Elementroot;//网页文档结构树的根
Link[]links;//网页中的所有链接
(3)link类
link类封装了网页之间链接的属性和操作,包括链接的父网页对应的Page
对象,链接的地址以及链接的Anchor文字等元数据。
link类的主要数据成员如下;
privatePage
protectedURL
privatefloatpage://链接的父网页对应的Page对象url;//链接的URL地址priority;//链接的主题相关性权值
dp://链接的下载参数privateDownloadParameters
(4)Crawler类
Web搜集器的核心是Crawler类,它实现了收集主题相关网页的功能。
Crawler类的主要数据成员如下:
protected1workloadStorableworkload;//数据库接口,管理Crawler搜集到的链接(URL),等待CrawlerWorker线程池中的线程下载分析