分布式网页抓取

为了提高网络爬虫的性能,一般会采用分布式的抓取方式,本文主要就其中的网页查重问题进行简单的讨论。

第一种:主备集中式控制的方式

由一个主控节点控制网页的抓取,主控节点负责任务的分派,将各个slave机器上抓取结果网页内的链接进行汇总,查重,再进一步分派新的任务。主控节点上网页的查重可能是比较复杂的任务。

第二种:多节点协作的方式

将所有的网页地址进行hash,每个节点负责不同的hash范围,在抓取到网页后,将提取出来的链接分发到各个负责的节点上,进行进一步的抓取。为了控制抓取的深度,需要在发送链接的时候加上当前的深度信息。

第三种:分布式文件存储的方式

各个节点将抓取的数据存储在一个分布式文件系统上,每个节点在发现已有文件的时候,则终止网页的抓取。这种方式很难解决网页的增量抓取问题。

第四种:分布式数据库的方式

各个节点将抓取到的数据存储在一个分布式数据库上,在抓取网页网页前,检查数据库中的记录,如果不存在,则将记录存储到数据库中,开始抓取,否则终止抓取进程。这种方式的问题抓取的性能可能会受很大影响。



分布式网页抓取

上一篇:JS和Jquery获取和修改label的值


下一篇:Failed to convert value of type 'java.lang.String' to required type 'org.springframework.web.multipa