按照网络蜘蛛的工作方式可以将网络蜘蛛分为两类:集中式网络蜘蛛和分布式网络蜘蛛。
(1)集中式网络蜘蛛
集中式网络蜘蛛的工作原理是:首先通过初始设定的种子URL爬取其所对应的Web页面,通过蜘蛛的解析模块从Web页面中提取内容以及新的URL链接,保存新获取的URL链接到指定URL集合中,以进行后续抓取任务。其突出特点是运行在某台主机之上,从而开始访问互联网进行网页抓取任务。早期实现的网络蜘蛛大多采用这种工作方式,但是如今,随着互联网规模的急剧膨胀,集中式的网络蜘蛛往往受限于软硬件资源的限制,其釆集效率往往难以满足业务的需求。
(2)分布式网络蜘蛛
分布式网络蜘蛛的工作运行原理实际上可以看作是多个集中式蜘蛛的协同合作,进而弥补了集中式网络蜘蛛所存在的缺陷。分布式网络蜘蛛包含多个子网络蜘蛛,其分布性体现在这些蜘蛛可以分布在不同的地理位置,每个子蜘蛛在执行抓取任务的过程中与单个集中式蜘蛛基本一致,同样是从互联网上下载Web页面,并将网页数据保存到本地文件系统中,从页面中解析出新的URL,并按照这些URL的指向继续爬行,从而不断抓取页面。分布式蜘蛛需要额外处理的是分割下载任务,并将分割的下载任务分配给各个子蜘蛛执行,然后控制不同爬行器之间的数据交换,协调各个子蜘蛛的抓取进度。