
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.4 网络爬虫的采集策略
网络爬虫的采集策略一般分为两种:深度优先搜索(Depth-First Search)策略和广度优先搜索(Breadth-First Search)策略。
深度优先搜索策略:从根节点开始,根据优先级向下遍历该根节点对应的子节点。当访问到某一子节点时,以该子节点为入口,继续向下层遍历,直到没有新的子节点可以继续访问为止。接着使用回溯法,找到没有被访问到的节点,以类似的方式进行搜索。图1.5给出了理解深度优先搜索的一个简单案例。

图1.5 深度优先搜索遍历案例
广度优先搜索策略:又称为宽度优先搜索策略,从根节点开始,沿着网络的宽度遍历每一层的节点,如果所有节点均被访问,则终止程序。图1.6给出了理解广度优先搜索的一个简单案例。基于广度优先的爬虫是最简单的采集网站信息的采集器,也是目前使用较为广泛的采集器。

图1.6 广度优先搜索遍历案例