1.4 网络爬虫采集策略

网络爬虫的采集策略一般分为四种:深度优先策略、广度优先策略、非完全PageRank策略和大站优先策略。
深度优先策略:深度优先遍历策略是指网络爬虫从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪,直至结束,深度优先策略处理方式如下图所示。
在这里插入图片描述
深度优先策略是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索网页结构的叶结点(即那些不包含任何超链接的html文件)。在一个html文件中,当一个超链接被选择后,被链接的html文件将执行深度优先搜索,即在搜索其余超链接结束之前必须先完整的搜索单独的一条链。深度优先搜索沿着html文件上的超链接直到不能深入为止,然后返回到某一个html文件,再继续选择该html文件中的其他超链接。当不再有超链接可选择时,说明搜索已经结束。
优点:能遍历一个web站点或深层次嵌套的文档集合。
缺点:因为web结构相当深,有可能是死循环,存在进去就可能再也出不来的情况。
广度优先策略:广度优先策略是指将下载网页中发现的超链接直接插入到待抓取url队列的末尾。也就是说网络爬虫会先抓取网页中所有链接的所有网页,然后再选择其中一个网页,继续抓取此网页中的所有网页,广度优先策略处理方式如下图所示。
在这里插入图片描述
在广度优先搜索中,先搜索完一个web页面所有的超链接,然后再继续搜索下一层,直到结束为止。例如:一个html网页文件中有三个超链接,选择其中之一并处理相应的html文件,然后不再处理第二个html文件中的任何超链接而是返回并选择第二个超链接,处理相应的html文件,再返回选择第三个超链接并处理相应的html件。一旦一层上所有的超链接都被选择,就可以开始在刚才处理过的html文件中搜索其余的超链接。这就保证了对浅层的首先处理。当遇到一个无穷无尽的深层分支时,不会导致陷入死循环而出不来的情况。
优点:它能在两个html文件之间找到最短路径。广度优先策略通常是实现爬虫的最佳策略,因为它容易实现而且具备大都数期望的功能。
缺点:如果要遍历一个指定的站点或者深层次嵌套的html网页集,用广度优先策略搜索需要花费较长时间才能达到深层次的html文件。
综上所诉:考虑到以上两种策略和国内信息导航系统搜索信息的特点,国内一般采用广度优先策略为主,深度优先搜索策略为辅的爬取策略。对于某些不被引用或者很少被引用的html文件,广度优先策略可能会遗漏这些孤立的信息源,可以使用深度优先策略作为补充。
非完全PageRank策略:非完全PageRank策略是指对已经下载的网页,加上待抓取url队列中的url一起形成网页集合,在此集合内进行PageRank计算,计算完成后将待抓取url队列里的网页按照PageRank得分由高到低排序,形成的序列就是爬虫接下来应该依次抓取的url列表。
缺点:如果每次新抓到一个网页,就重新计算新的非完全PageRank,明显效率太低。
大站优先策略:大站优先策略是指以网站为单位来选择,对待待爬取url队列中的网页,根据所属网站归类,如果哪个网站等待下载的页面最多,则优先下载这些链接,其本质思想倾向于优先下载大型网站。因为大型网站往往包含更多的页面,鉴于大型网站往往是著名企业的内容,其网页质量一般较高,所以这个思路虽然简单,但是有一定的依据。实验表明这个算法也要优于广度优先遍历策略。

发布了46 篇原创文章 · 获赞 0 · 访问量 772

猜你喜欢

转载自blog.csdn.net/Jgx1214/article/details/105443436
1.4
今日推荐