Python网络爬虫从入门到精通
上QQ阅读APP看书,第一时间看更新

1.2 网络爬虫的分类

网络爬虫按照实现的技术和结构可以分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫。在实际的网络爬虫中,通常是这几类爬虫的组合体,下面分别介绍。

1.通用网络爬虫

通用网络爬虫又叫作全网爬虫(Scalable Web Crawler),通用网络爬虫的爬行范围和数量巨大,正是由于其爬取的数据是海量数据,所以对于爬行速度和存储空间要求较高。通用网络爬虫在爬行页面的顺序要求上相对较低,同时由于待刷新的页面太多,通常采用并行工作方式,所以需要较长时间才可以刷新一次页面。所以存在着一定的缺陷,这种网络爬虫主要应用于大型搜索引擎中,有着非常高的应用价值。通用网络爬虫主要由初始URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块等构成。

2.聚焦网络爬虫

聚焦网络爬虫(Focused Crawler)也叫主题网络爬虫(Topical Crawler),是指按照预先定义好的主题,有选择的进行相关网页爬取的一种爬虫。它和通用网络爬虫相比,不会将目标资源定位在整个互联网中,而是将爬取的目标网页定位在与主题相关的页面中。极大地节省了硬件和网络资源,保存的页面也由于数量少而更快了,聚焦网络爬虫主要应用在对特定信息的爬取,为某一类特定的人群提供服务。

3.增量式网络爬虫

增量式网络爬虫(Incremental Web Crawler),所谓增量式,对应着增量式更新。增量式更新指的是在更新时只更新改变的地方,而未改变的地方则不更新。所以增量式网络爬虫,在爬取网页时,只会在需要的时候爬行新产生或发生更新的页面,对于没有发生变化的页面,则不会爬取。这样可有效减少数据下载量,减小时间和空间上的耗费,但是在爬行算法上增加了一些难度。