论文部分内容阅读
随着互联网的爆炸性增长,Web已经发展成为站点遍布全球的巨大信息服务网络,根据CNNIC统计,截至2008年底,仅中国网页总数就超过160亿个,较2007年增长90%。网页的增长速度与网站的增速基本一致。面对如此巨大的信息库,如何快速准确的检索到自己需要的信息呢?搜索引擎已经成为Web信息获取的一种最重要的手段。索引网页数量的大小、质量是评价一个搜索引擎好坏的重要指标。因此,Web爬虫(Crawler)作为搜索引擎的首要组成部分,是一个好的搜索引擎的重要基础。出于商业机密的考虑,目前各个搜索引擎使用的Crawler系统的技术内幕一般都不公开。现有的文献也仅限于概要性介绍。本文的目标就是研究、设计并实现一个分布式Web Crawler系统。本文通过分析搜索引擎的系统组成引出了文章的重点—Web爬虫。并以一个简单的爬虫系统为依托,详细分析了Web爬虫的构建的基本原理。通过研究爬虫系统的抓取策略、重访策略、礼貌性问题等,进一步深入分析了爬虫的核心工作原理。本文设计了具有实用性的分布式Web Crawler体系结构,提出一种分布式合作抓取算法解决爬虫分布式抓取难题,并提出了一种改进的大规模网页存储结构,能同时满足大量的随机访问,以及大量新增网页的需要。最后设计并开发分布式Web Crawler系统,并对爬虫系统的未来给出了展望。本文的具体工作如下:(1)深入研究爬虫系统的抓取策略其中包括网页抓取优先策略、不重复抓取策略,重点分析了网页重访策略以及爬虫礼貌性问题。(2)设计具有实用性的分布式Web Crawler体系结构,在追求负载均衡的同时将系统的通信和管理开销降到最低。(3)提出一种分布式合作抓取算法,根据RMI分布式系统的开发过程,解决爬虫分布式抓取难题。(4)提出一种改进的大规模网页存储结构Hash-Log,能够适应随机访问及顺序访问的不同需求。(5)设计并开发分布式Web Crawler系统,并从性能、可扩展性以及负载均衡等多个方面分析了爬虫的运行结果,达到了非常满意的效果。