作为seoer 你了解搜索引擎抓取和更新策略?

2018-12-14 13:20:43 25
  

    最近在看一本书,发现当我们不实践直接看原理是枯燥无味的,而实践过后反过来看原理,会觉得非常多道理,很多感悟。就拿我自己做反面教材,说我是搜索引擎(Engine)优化工作者,我对搜索引擎的工作方式和基本的抓取原理,更新策略都不懂。那么你呢?下面就分享下我的读书笔记,仅当新人扫盲。
    在介绍搜索引擎(Engine)爬虫的之前,首先了解(Find out)爬虫把网页的分类,四种:
    1,已过期的网页和已下载的网页
    2,待下载的网页
    3,可知网页
    4,不可知网页
    下面我会详细(xiáng xì)介绍搜索引擎(Engine)是如何更新已下载网页,如何下载待下载网页,如何处理可知但未抓取的网页,如何抓取不可知网页。
    一.处理待下载网页
    抓取策略:在一堆可知的网页中,搜索引擎(Engine)会抽出待抓取网页url,爬虫抓取网页url在其中顺序排列,形成一个队列,调度程序(procedure)每次从队列头取出某个url,发送给网页下载器下载网站内容,每个新下载的页面包含的url会追加到带抓取队列中的末尾,形成循环(continue),这是最基础的算法。但不是唯一的方法。
    这样纯真是按照顺序抓取,但是搜索引擎(Engine)一般都选择(xuanze)重要的页面优先抓取。网页重要性,大部分是按照网页流行度抓取的,所为网页流行度,谷歌官方有句话是指曝光度,通俗意思就是反向链接。
    一般有四种方案选择重要页面:宽度优先遍历策略,非完全pagerank策略,ocip策略,大站优先策略
   
  1、宽度优先遍历策略:将新下载的网页包含的链接直接追加到带抓取url队列末尾。网站关键词排名是一种在搜索引擎搜索结果中以相关字、词、词组体现网页排名的方式。可以分为关键词自然排名以及各搜索引擎提供的关键词竞价排名服务两种看似很机械,其实包含了一些优先策略:如果入链比较多,就更加容易被宽度优先遍历策略抓取到,入链个数侧面表现了网页的重要性。
   
  2、非完全pagerank:前面的是以数量来定的,这个是加入了质量。网站关键词排名是一种在搜索引擎搜索结果中以相关字、词、词组体现网页排名的方式。可以分为关键词自然排名以及各搜索引擎提供的关键词竞价排名服务两种
    初始算法:将已下载的的网页加入待下载url队列中形成网页集合,在这个集合中计算pr,然后将带抓取的队列按照pr重新排列,就按照这个顺序抓取。
   
    每当攒够k个网页之后在重新计算。网站关键词排名是指通过各种搜索引擎优化(seo)方式,使您网站的关键词在再搜索引擎自然排名中靠前。用户通过搜索引擎搜索相关的关键词,如电动车、珍珠、pearl等,左侧自然排名中排首页的全球最多仅10个网站,而这些排位是根据网站相关性和重要性等参数来排序的,非常公正。那是金钱买不来的,你的排名高,意味着你在行业的影响力远远超过同行。但是问题(Emerson)是:新抽出来的网页没后计算GOOGLE PR没有pr值,他们的重要性可能比已经在队列中的要高怎么办?
    解决办法:给每个新抽出来赋予一个临时GOOGLE PR,这个临时pr是根据入链传到的pr值汇总的值。这样在计算下,如果比队列中高就有限抓取他。这就是非完全pr
   
   
  3、ocip策略(strategy):在线页面重要性,改进的pr算法。
    算法开始之前就每个页面都给一样的现金,当这个页面被下载了以后,这个现金就平均分给他的导出页面,而自己的就清空。这些导出页面放在带抓取的队列中,按照现金多少来优先抓取。
    和GOOGLE PR区别:pr上一个页面的不清空,每次都要迭代重新计算,而这个不用重新计算都清空了。而且pr存在无连接关系的跳转,而这个只要无连接就不传递(transmission)现金。
   
  4、大站优先:带抓取队列中哪个网站的多就优先抓取哪个。
   
  二、更新已下载网页
    上面就是搜索引擎的抓取策略(strategy)。抓取完了的页面就加入已下载的网页中,已下载的网页需要不断地更新,那么搜索引擎又是如何更新的呢?
    一般的网页更新策略:历史参考策略,用户访问体验策略,聚类抽样策略
   
  1、历史参考:过去频繁更新的,现在可能也频繁。利用模型预测未来更新时间。忽略导航栏和广告的频繁更新,所以导航的频繁更新没用,重在内容
   
  2、用户访问体验:即使网页已经过时了,需要更新了,但如果我更新了不影响(influence)用户体验搜索引擎就晚些更新。算法是:网页更新对搜索引擎搜索质量的影响,影响大就尽快更新。所以他们会保存多个历史网页,根据以前更新所带来的影响判断更新对搜索引擎质量的影响大小。
    以上两种缺点:依赖历史,要保存非常多历史数据,增加负担。如果没有历史记录就不准确了。
   
  3、聚类抽样策略:把网页分类,根据同一类别网页更新频率(frequency)更新所有这一类别的网页。抽取最具代表性的,看他的更新频率,以后同行业的都按照这个频率。
   
  三、抓取不可知网页
    不可知的网页就是暗网,搜索引擎很难用常规方法抓取到的数据。比如没有连接的网站,数据库(Database)。比如一个产品库存查询,可能要输入产品名称,地区,型号一系列文本才能查询库存数量。而搜索引擎是难以抓取的。这就有了查询组合和,isit算法。
    先介绍下两个概念:
   
  1、富含信息查询模版:就比如一个查询系统,我设定一个查询模版,每个文本框输入什么信号,地区,产品(Product)名称等,形成不同的查询组合。不同的组合之间差异很大,就是富含信息查询模版。
    这个模板是怎么确定的呢?爬虫先从一维模版开始,比如先别的不是输入就输入地区,看是否是富含信息查询模版,是就扩展到二维模版,比如地区+型号。如此增加维度,直到没有新的模版。
   
  2、词的组合:也许你纳闷了,爬虫怎么知道这个输入框要输入什么,是地区还是产品名称,还是时间?所以爬虫开始需要人工提示,人工提供一些初始查询种子表,爬虫更具这个表格查询下载页面,然后分析(Analyse)页面,自动挖掘(excavate)新的关键(解释:比喻事物的重要组成部分)词,形成新的查询列表,然后在查询,将结果提交给搜索引擎,直到没有新内容为止。
    这样就完成了对暗网的抓取。
    以上只是简单的介绍一下爬虫的抓取和更新框架,具体的算法可就复杂多了,有待我慢慢研究过后再分享。
电话咨询
邮件咨询
在线地图
QQ客服