论文部分内容阅读
在当今信息与数据大爆炸的时代,针对互联网上的数据信息,可以进行数据挖掘,提取有价值的信息并预测某些事件的发生。现代主流的搜索引擎,例如:谷歌、百度等,都会在全球部署自己的信息采集系统(爬虫系统)。在信息采集系统中,最重要的一部分是如何解析网页,提取出感兴趣的数据信息,在一般的信息采集系统中,需要对网站的不用模块或者不同网站个性化制定信息抽取规则,特别是遇到网页结构相似的情况,将会耗费大量的人力资源。自动化信息采集能够解决这一方面的问题,现有的自动化页面解析算法一般是通过模板生成或者机器学习方式进行自动化信息抽取,最常见的算法包括启发式方式、树对齐方式以及模板生成方式例如RoadRunner等,这些现有的算法存在的问题是提取出的信息包含噪声信息、数据抽取时间过长的缺点等。为了解决上述问题,本文的主要研究内容体现在三个方面。第一,为了解决自动化网页信息提取中人工干预以及噪声信息所占比重过高的问题,提出了一种基于标签的网页正文块的三叉树的解决方案。本文通过大量分析确定了能够正确描述网页正文分布的标签,并确定了标签的阈值,最后结合三叉树信息抽取模型,制定统一的信息抽取规则。实验表明:该信息抽取算法比同类抽取算法无论是在时间上还是在噪声信息所占比例上,都表现出良好的性能。第二,为了能够更好地适应自动化信息抽取,需要解决网页结构分类。目前比较常见的网页结构分类算法是基于DOM树的编辑距离,但是该算法最突出的缺点是时间消耗过长。本文结合了现有主流的站点之间网页模板套用低可能性,及同一个站点内不同版块可能存在差别的特点,提出基于网页标签属性的字符串编辑距离的网页结构相似性判断方法。实验表明:该算法判定网页结构相似的时间大约是DOM树编辑距离方法的3/4。第三,设计一个自动化信息采集系统。在系统实现过程中,为了加快信息的采集速度,采用分布式架构;为了能够实现爬虫动态配置,采用ZooKeeper作为配置中心。底层数据持久化采用MySQL数据库。该系统的实现避免了人工制定信息抽取规则。