随着Web信息的急速膨胀,各项和Web有关的服务也都逐渐增多,Web信息在很多方面得到了广泛的应用,人们对于Web信息的要求也越来越高,使得专门负责Web信息采集的网络爬虫技术面临了一个巨大的挑战。国内外的一些大公司对这一问题已经有了很成熟的解决方案,并已投入使用,但是这些大型搜索引擎只能给大众用户提供一种普通的不可制定的搜索服务,它不可能考虑到所有用户的各式各样的需求,而单机的网络爬虫在很多情况下又难当重任,中型规模的网络爬虫以其灵活的可定制性和单机网络爬虫无法比拟的信息采集速度和规模,满足了人们日益增长的对Web信息的面向用户的需求,针对这一情况,本文展开了对国内外的网络爬虫技术的研究。
网络爬虫研究中最重要的是设计构架和关键技术的解决。在吸取了他人技术和经验的基础上,本文设计描述了一个分布式网络爬虫的结构设计,其中包括硬件的构架,和软件的模块划分。硬件部分由一台PC机做控制节点,N台PC机作爬行节点,在局域网中连接。软件部分又分为控制节点软件设计和爬行节点软件设计。
然后本文分析了分布式网络爬虫的关节技术的解决方法,比如分布式的各个结点如何协同工作,任务如何分配,如何保持重要网页的时新性等等,进而提出了一些实用的算法,解决了这些分布式网络爬虫的关键技术,实现了一个具备健壮性,可扩展性,可配置性的分布式网络爬虫系统,并就该分布式网络爬虫系统进行了仔细的剖析。最后在该网络爬虫上作了一些测试,包括了普通爬行测试和该网络爬虫的一个应用,网站爬行的测试。