一个小型的网页抓取系统的架构设计

        

    网页抓取服务是互联网中的经常使用服务。在搜索引擎中spider(网页抓取爬虫)是必需的核心服务。搜索引擎的衡量指标“多、快、准、新”四个指标中,多、快、新都是对spider的要求。搜索引擎公司比方google、baidu都维护者自己负责的spider系统。

当然他们的系统非常复杂,在这里我们介绍一个小型的网页抓取系统的架构,目标是高速的抓取某个或者几个指定的站点的数据。它的作用有非常多。比方做竞品分析,还有其它不可告人的J。

         以下这个小型的网页抓取系统,分成以下几个部分:

         1)网页种子文件,这个里面配置要抓取的链接是我们抓取服务的起点。

         2)链接池,链接的FIFO队列,种子的link会先入这个队列。

         3)抓取线程,从链接池中获取链接。并下载网页生成的网页数据放到网页池。

         4)网页池,网页的FIFO队列,抓取的网页都会进入到这个pool;

         5) 抽取线程是系统的核心,它负责依据配置的模板抽取网页中指定的链接与数据,将抽取到个格式化数据入到抽取线程,将抽取出来的新的链接放到链接库;

         6)调度线程,负责链接的调度策略,将选择合适的链接放到链接池队列。

系统架构例如以下:

一个小型的网页抓取系统的架构设计_ide_02