选择策略:
就现在网络资源的大小而言,即使很大的搜索引擎也只能获取网络上可得到资源的一小部分。由劳伦斯和盖尔斯共同做的一项研究指出,没有一个搜索引擎抓取的内容达到网络的16%(劳伦斯和盖尔斯,)。虽然网站通常只下载网页内容的一部分,但每个人仍然强烈要求下载包含大部分相关页面的部分。
这就要求一个公共标准来区分网页的重要程度,一个页面的重要程度与他自身的质量有关,与按照链接数、访问数得出的受欢迎程度有关,甚至与他本身的网址(后来出现的把搜索放在一个顶级域名或者一个固定页面上的垂直搜索)有关。设计一个好的搜索策略还有额外的困难,它必须在不完整信息下工作,因为整个页面的集合在抓取时是未知的。
Cho等人(Choetal,)做了第一份抓取策略的研究。他们的数据是斯坦福大学网站中的18万个页面,使用不同的策略分别模仿抓取。排序的方法使用了广度优先,后链计数,和部分pagerank算法。计算显示,如果你想要优先下载pagerank高的页面,那么,部分PageRank策略是比较好的,其次是广度优先和后链计数。并且,这样的结果仅仅是针对一个站点的。
Najork和Wiener(NajorkandWiener,)采用实际的爬虫,对3.28亿个网页,采用广度优先研究。他们发现广度优先会较早地抓到PageRank高的页面(但是他们没有采用其他策略进行研究)。作者给出的解释是:“最重要的页面会有很多的主机连接到他们,并且那些链接会较早地发现,而不用考虑从哪一个主机开始。”
Abiteboul(Abiteboul等人,),设计了一种基于OPIC(在线页面重要指数)的抓取战略。在OPIC中,每一个页面都有一个相等的初始权值,并把这些权值平均分给它所指向的页面。这种算法与Pagerank相似,但是他的速度很快,并且可以一次完成。OPIC的程序首先抓取获取权值最大的页面,实验在10万个幂指分布的模拟页面中进行。并且,实验没有和其它策略进行比较,也没有在真正的WEB页面测试。
通过模拟检索实验Boldiet.,在.it网络中获得万页,在webbase中获得1亿页,测试广度优先、深度优先、随机顺序和有序顺序。比较的基础是真实页面pageRank值和计算出来的pageRank值的接近程度。令人惊奇的是,一些计算pageRank很快的页面(特别明显的是广度优先策略和有序序列)仅仅可以达到很小的接近程度。
Baeza-Yates等人(Baeza-Yatesetal.,)在从.gr域名和.cl域名子网站上获取的万个页面上模拟实验,比较若干个抓取策略。结果显示OPIC策略和站点队列长度,都比广度优先要好;并且如果可行的话,使用之前的爬行抓取结果来指导这次抓取,总是十分有效的。
Daneshpajouh等人(Daneshpajouhetal.,)设计了一个用于寻找好种子的社区。它们从来自不同社区的高PageRank页面开始检索的方法,迭代次数明显小于使用随机种子的检索。使用这种方式,可以从以前抓取页面之中找到好的种子,使用这些种子是十分有效的。
限定访问链接
爬行器可能只是寻找html页面的种子,避免其他文件类型。为了仅仅得到html的资源,一个爬虫可以首先做一个