
上QQ阅读APP看书,第一时间看更新
2.5.1 深度优先遍历策略
深度优先搜索是一种在开发爬虫的早期使用较多的方法。它的目的是达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件)。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索一条单独的链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。优点是能遍历一个Web站点或深层嵌套的文档集合;缺点是因为Web结构相当深,有可能出现一旦进去便再也出不来的情况。
图2-6 遍历路径图
深度优先遍历测试是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路的链接之后,再转入下一个起始页继续跟踪链接;我们以图2-6为例,其遍历的路径为:A-F-G、E-H-I、B、C、D。