1.2 爬虫的类型
网络爬虫根据系统结构和开发技术大致可以分为4种类型:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫和深层网络爬虫。
通用网络爬虫又称全网爬虫,常见的有百度、Google、必应等搜索引擎,爬行对象从一些初始URL扩充到整个网站,主要为门户站点搜索引擎和大型网站服务采集数据,具有以下特点:
(1)由于商业原因,引擎的算法是不会对外公布的。
(2)这类网络爬虫的爬取范围和数量巨大,对于爬取速度和存储空间要求较高,爬取页面的顺序要求相对较低。
(3)待刷新的页面太多,通常采用并行工作方式,但需要较长时间才能刷新一次页面。
(4)存在一定缺陷,通用网络爬虫适用于为搜索引擎搜索广泛的需求。
聚焦网络爬虫又称主题网络爬虫,是选择性地爬取根据需求的主题相关页面的网络爬虫。与通用网络爬虫相比,聚焦爬虫只需要爬取与主题相关的页面,不需要广泛地覆盖无关的网页,很好地满足一些特定人群对特定领域信息的需求。
增量式网络爬虫是指对已下载网页采取增量式更新和只爬取新产生或者已经发生变化的网页的爬虫,它能够在一定程度上保证所爬取的页面尽可能是新的页面。只会在需要的时候爬取新产生或发生更新的页面,并不重新下载没有发生变化的页面,可有效减少数据下载量,及时更新已爬取的网页,减小时间和空间上的耗费,但是增加了爬取算法的复杂度和实现难度,基本上这类爬虫在实际开发中不太普及。
深层网络爬虫是大部分内容不能通过静态URL获取的、隐藏在搜索表单后的、只有用户提交一些关键词才能获得的网络页面。例如某些网站需要用户登录或者通过提交表单实现提交数据。这类爬虫也是本书讲述的重点之一。
实际上,聚焦网络爬虫、增量式网络爬虫和深层网络爬虫可以通俗地归纳为一类,因为这类爬虫都是定向爬取数据。相比于通用爬虫,这类爬虫比较有目的性,也就是网络上经常说的网络爬虫,而通用爬虫在网络上通常称为搜索引擎。