随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性。比如通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询等问题。
未解决这些问题人们研究出了一些解决的策略,网页的抓取策略可以分为深度优先、广度优先和最佳优先三种。深度优先在很多情况下会导致爬虫的陷入问题,目前常见的是广度优先和最佳优先方法。
广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。该算法的设计和实现相对简单。在目前为覆盖尽可能多的网页,一般使用广度优先搜索方法。也有很多研究将广度优先搜索策略应用于聚焦爬虫中。其基本思想是认为与初始URL在一定链接距离内的网页具有主题相关性的概率很大。
最佳优先搜索策略按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取。它只访问经过网页分析算法预测为“有用”的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种局部最优搜索算法。
基于目标数据模式的爬虫针对的是网页上的数据,所抓取的数据一般要符合一定的模式再用“过滤器来过滤”,因此你可以将其映射为目标数据模式。
在你使用这些设计策略时,你就不会有上边的疑问了。这两种策略的具体实现建议你还是上网搜一下。仔细看一下! |