论文部分内容阅读
在计算机技术日新月异的时代,信息数据的膨胀对搜索引擎的查询准确度和相关性提出了更高的要求。随着网络传媒在作为信息传播载体越发迅速的发展,网络爬虫作为信息采集工具,在大数据采集领域占据了越来越重要的位置。海量数据的采集,对于单机爬虫的计算和存储能力提出了巨大的挑战。本文通过研究分布式爬虫,提出了相应的爬虫信息采集和和数据解析的分布式实现方案,并Hadoop框架的基础上改进爬虫的搜索准确度。首先,本文针对分布式爬虫中多个节点的URL遍历任务分配问题,根据Hadoop的MapReduce擅长离线式的大数据处理的特点,提出按页面中链接提取的轮次逐层访问网络的方案,使得爬虫的信息采集工作在分布式框架下有效执行。针对URL在分布式环境下的去重检验问题,比较常见的集中式检验和共享式分配等方法,提出适合于Hadoop框架的分区布隆过滤器,保证了各分区URL去重检验记录的独立性,实现离线式的URL去重检测方案,减少了去重过程中额外的主节点与子节点的信息交互,降低了无效了的页面重复访问率。同时,在分区去重检测的基础上,为网页的更新提出检测方案,避免了对静态页面的过多访问,保持的对动态页面更新信息的及时获取。其次,为了实现分布式框架下的网络爬虫的主题抓取,本文基于TextRank关键字提取模型,提出了基于关键词扩展的主题爬虫,提高了主题过滤的主题描述集的表达准确力度。同时针对主题爬虫中的隧道问题,对于不相关的链接信息做一定程度上的保留,以便找到具有主题相关度的网页,提高主题爬虫的召回率。然后,本文为在逐层访问的爬虫提高对相关链接的访问自由度,使得爬虫对相关网页进行深度抓取。最后,在适应于Hadoop的文件输入输出的数据格式的基础上,设计爬虫执行的各相关模块,实现在Hadoop框架下分布式爬虫的具体实现。实验结果表明,分布式爬虫具有比单机爬虫更高的数据容量采集能力,在海量数据的检索过程中,分布式爬虫将具有比单机爬虫更强大的数据分析处理能力。