通用网络爬虫又称全网爬虫,其爬取对象由一批种子URL扩充至整个Web,主要由搜索引擎或大型Web服务提供商使用。这类爬虫的爬取范围和数量都非常大,对于爬取的速度及存储空间的要求都比较高,而对于爬取页面的顺序要求比较低,通常采用并行工作的方式来应对大量的待刷新页面。
该类爬虫比较适合为搜索引擎搜索广泛的主题,常用的爬取策略可分为深度优先策略和广度优先策略。
(1)深度优先策略
该策略的基本方法是按照深度由低到高的顺序,依次访问下一级网页链接,直到无法再深入为止。在完成一个爬取分支后,返回上一节点搜索其他链接,当遍历完全部链接后,爬取过程结束。这种策略比较适合垂直搜索或站内搜索,缺点是当爬取层次较深的站点时会造成巨大的资源浪费。
(2)广度优先策略
该策略按照网页内容目录层次的深浅进行爬取,优先爬取较浅层次的页面。当同一层中的页面全部爬取完毕后,爬虫再深入下一层。比起深度优先策略,广度优先策略能更有效地控制页面爬取的深度,避免当遇到一个无穷深层分支时无法结束爬取的问题。该策略不需要存储大量的中间节点,但是缺点是需要较长时间才能爬取到目录层次较深的页面。