网络爬虫按照系统结构和实现技术,大致可分为4类,即通用网络爬虫、聚焦网络爬虫、增量网络爬虫和深层次网络爬虫。 通用网络爬虫:又称为全网网络爬虫,其在采集数据时,由部分
网络爬虫按照系统结构和实现技术,大致可分为4类,即通用网络爬虫、聚焦网络爬虫、增量网络爬虫和深层次网络爬虫。
通用网络爬虫:又称为全网网络爬虫,其在采集数据时,由部分种子URL扩展到整个网络的全部页面,主要应用于搜索引擎数据的采集。这类网络爬虫的数据采集范围比较广,数据采集量巨大,对数据采集的速度和存储空间有较高的要求,通常需要深度遍历网站的资源。例如,Apache的子项目Nutch便是一个高效的通用网络爬虫框架,其使用分布式的方式采集数据。有兴趣详细学习Nutch框架的读者,可参考书籍Web Crawling and Data Mining with Apache Nutch。
聚焦网络爬虫:又称为主题网络爬虫,是指选择性地采集那些与预先定义好的主题相关的页面。相比于通用网络爬虫,聚焦网络爬虫采集的网络资源少,主要用于满足特定人群对特定领域信息的需求。在聚焦网络爬虫中,需要设计过滤策略,即过滤与所定主题无关的页面。
增量网络爬虫:是指对已下载网页采取增量式更新,只采集新产生的或者已经发生变化网页的爬虫。增量网络爬虫能够在一定程度上保证所爬取的页面尽可能是新的页面,历史已经采集过的页面不需要重复采集。增量网络爬虫避免了重复采集数据,可以减少时间和空间上的耗费。针对小规模特定网站的数据采集,在设计网络爬虫时,可构建一个基于时间戳判断是否更新的数据库,通过判断时间戳的先后,判断程序是否继续采集,同时更新数据库中的时间戳信息。
深度网络爬虫:即Deep Web爬虫,指对大部分内容不能通过静态链接获取,只有用户提交表单信息才能获取Web页面的爬虫。