论文部分内容阅读
互联网的爆炸性发展使得其规模由1993年的数千个网页发展为现在的数十亿个网页,并且这个数字还在疯狂膨胀中。随着互联网的规模迅速增长,其相关的服务和信息量也随之快速增长。在这些信息得到人们广泛应用的同时,专门负责互联网信息收集工作的网络爬虫也面临着巨大的挑战。目前,国内外的大型互联网公司、相关研究机构(如:Google、百度等)已经给出了一些较为成熟的解决方案,有些也已投入使用,但是这些方案大都只能为一般用户提供一种不可定制的搜索服务,而且很多公司将这些网络爬虫的技术列为商业机密,并未公开,已经无法满足广大用户日益增长的各种要求;互联网如此庞大、错综复杂就算是Google、百度这样的搜索巨头也无法完整搜集完所有的网页,更不用说普通用户。本文着重研究中小型规模的分布式爬虫,设计并实现了一个基于MapReduce分布式计算模型的分布式网络爬虫。综合起来本文的主要工作如下:首先,本文介绍了网络爬虫中的相关技术和当前流行的Map/Reduce分和式计算模型。随后在MapReduce分布式计算模型的基础上设计了由多台PC构成的分布式网络爬虫系统-DWCS。其中通用的crawler模块负责对网页的抓取,并提取URL; master模块负责对URL进行去重等处理,并分配给各个crawler模块。然后,在上述的基础上,利用Python与Mincemeat.py分布式计算模块实现了该分布式爬虫。最后,本文对DWCS系统进行了测试,对测试结果进行了分析,对目前的工作做了总结,找出了不足,并对日后的工作做了展望和部署。