zoukankan      html  css  js  c++  java
  • 2 宽度优先爬虫和带偏好的爬虫(3)

    4 带偏好的爬虫

      有时,在URL队列中选择需要抓取的URL时,不一定按照队列“先进先出”的方法进行选择。而把重要的URL先从队列中“挑”出来进行抓取。这种策略也称作“页面选择”(Page Selection)。这可以使有限的网络资源照顾重要性高的网页。

      那么哪些网页是重要性高的网页呢?

      判断网页的重要性的因素很多,主要有链接的欢迎度(知道链接的重要性了吧)、链接的重要度和平均链接深度、网站质量、历史权重等主要因素。

      链接的欢迎度主要是由反向链接(backlinks,即指向当前URL的链接)的数量和质量决定的,我们定义为IB(P)。

      链接的重要度,是一个关于URL字符串的函数,仅仅考察字符串本身,比如认为“.com”和“home”的重要度比“.cc”和“map”高,我们定义为IL(P)。

      平均链接深度,根据上面所分析的宽度优先的原则计算出全站的平均链接深度,然后认为距离种子站点越近的重要性越高。我们定义为ID(P)。

      如果我们定义网页的重要性为I(P),那么,页面的重要度由下面的公式决定:

             I(P)=X*IB(P)+Y*IL(P)

      其中,X和Y两个参数,用来调整IB(P)和IL(P)所占比例的大小,ID(P)由宽度优先的遍历规则保证,因此不作为重要的指标函数。

      如何如何实现最佳优先爬虫呢,最简单的方式可以使用优先级队列来实现TODO表,并且把每个URL的重要性作为队列元素的优先级。这样,每次选出来扩展的URL就是具有最高重要性的网页。

      

  • 相关阅读:
    elasticsearch之建议器Suggester
    elasticsearch,kibana之相关配置
    elasticsearch之分析过程
    elasticsearch之mappings
    elasticsearch for Mac OS
    项目精讲
    博客园项目开发流程
    Django之auth模块
    DJango中间件
    DJango之模板层
  • 原文地址:https://www.cnblogs.com/94julia/p/2989646.html
Copyright © 2011-2022 走看看