论文部分内容阅读
最近几年,垂直搜索引擎作为一种新型的搜索引擎出现在互联网各类产品之中。它的出现,是在信息化时代互联网数据爆炸式增长的大背景之下,人们为了追求更好的检索体验的产物。垂直搜索引擎一般只涵盖一个领域,提供比全文检索更专、更精、更深的检索服务。总体来说,垂直搜索引擎系统包括三个主要模块:结构化数据获取模块、索引模块和检索模块。本文介绍了系统原理和架构,然后把重点放在了结构化数据获取模块。垂直搜索引擎数据获取是整个系统正常运行的基础,结构化数据是垂直搜索引擎所要求的最终数据形式。本文把垂直搜索引擎数据获取分为两个阶段:网页的采集和网页信息提取。在网页采集部分,本文提出了主题爬虫的概念。对其经过深入研究后,结合垂直搜索引擎的特殊需求,设计实现了一个视频主题爬虫,并结合主题爬虫的特殊性,提出了不同于传统网络爬虫的抓取策略,包括基于树结构的遍历策略和基于标签组合的遍历策略,从而使主题爬虫高效的抓取全部网页。为了实现主题爬虫的增量抓取功能,又创新性的给爬虫添加数据库交互模块。由于网页开发新技术的广泛应用,越来越多的主题网站采用JavaScript等技术来实现数据的展示。传统爬虫对此类动态数据的抓取效果不理想,本文研究并实现了动态数据采集的两种方法,分别是基于JavaScript源码分析的方法和基于嵌入浏览器内核的方法,使得主题爬虫具备动态数据采集的功能。在网页信息提取部分,本文首先基于人工分析xpath的方法,实现了批量网页的信息提取。针对主题网站改版和垂直搜索引擎覆盖新的主题网站等情况,本文又增加了自动生成xpath模板的功能,从而实现了自动化信息提取系统。最后,本文对相关工作做了总结,并结合实际情况,指出系统当前存在的问题以及后期改进方向。