福州seo基础培训:搜索引擎的工作原理

  • 1,610 views
  • 阅读模式

搜索引擎最重要的是什么?有人会说是查询结果的准确性,有人会说是查询结果的丰富性,但其实这些都不是搜索引擎最最致命的地方。对于搜索引擎来说, 最最致命的是查询时间。试想一下,如果你在百度界面上查询一个关键词,结果需要5分钟才能将你的查询结果反馈给你,那结果必然是你很快的舍弃掉百度。

一名合格的seo工程师,一定会了解搜索引擎的工作原理,搜索引擎为了满足对速度苛刻的要求(现在商业的搜索引擎的查询时间单位都是微秒数量级的),所以采用缓存支持查询需求的方式,也就是说我们在查询搜索时所得到的结果并不是及时的,而是在其服务器已经缓存好了的结果。搜索引擎的工作原理其实很简单,首先搜索引擎大致分为4个部分,第一个部分就是蜘蛛爬虫,第二个部分就是数据分析系统,第三个部分是索引系统,第四个就是查询系统咯,当然这只是基本的4个部分!

下边我们来讲搜索引擎的工作流程:

什么是搜索引擎蜘蛛,什么是爬虫程序?

搜索引擎蜘蛛程序,其实就是搜索引擎的一个自动应用程序,它的作用是什么呢?其实很简单,就是在互联网中浏览信息,然后把这些信息都抓取到搜索引擎的服务器上,然后建立索引库等等,我们可以把搜索引擎蜘蛛当做一个用户,然后这个用户来访问我们的网站,然后在把我们网站的内容保存到自己的电脑上!比较好理解。

搜索引擎蜘蛛是怎样抓取网页的呢?

百度搜索引擎工作原理

百度搜索引擎工作原理

发现某一个链接 → 下载这一个网页 → 加入到临时库 → 提取网页中的链接 → 在下载网页 → 循环

1、搜索引擎的蜘蛛需要去发现链接,至于怎么发现就简单了,就是通过链接链接链接。

每一位站长只要你的网站没有被严重降权,那么通过网站后台的服务器,你都可以发现勤劳的蜘蛛光顾你的站点,但是你们有没有想过从编写程序的角度上来 说,蜘蛛是怎么来的呢?针对于此,各方有各方的观点。有一种说法,说蜘蛛的抓取是从种子站(或叫高权重站),依照权重由高至低逐层出发的。另一种说法蜘蛛 爬在URL集合中是没有明显先后顺序的,搜索引擎会根据你网站内容更新的规律,自动计算出何时是爬取你网站的最佳时机,然后进行抓取。

其实对于不同的搜索引擎,其抓取出发点定然会有所区别,针对于百度,笔者较为倾向于后者。在百度官方博客发布的《索引页链接补全机制的一种办法》一文中,其明确指出“spider会尽量探测网页的发布周期,以合理的频率来检查网页”,由此我们可以推断,在百度的索引库中,针对每个URL集合,其都计算出适合其的抓取时间以及一系列参数,然后对相应站点进行抓取。

2、搜索引擎蜘蛛在发现了这个链接后会把这个网页下载下来并且存入到临时的库中,当然在同时,会提取这个页面所有的链接,然后就是循环。

3、搜索引擎蜘蛛几乎是24小时不休息的(在此为它感到悲剧,没有假期。哈哈。)

4、那么蜘蛛下载回来的网页怎么办呢?这就需要到了第二个系统,也就是搜索引擎的分析系统。

搜索引擎的蜘蛛抓取网页有规律吗?

这个问题问的好,那么搜索引擎蜘蛛抓取网页到底有规律吗?答案是有!

如果蜘蛛胡乱的去抓取网页,那么就费死劲了,互联网上的网页,每天都增加那么那么那么多,蜘蛛怎么可以抓取的过来呢?所以说,蜘蛛抓取网页也是有规律的!

搜索引擎蜘蛛常用抓取返回码示意

1、最常见的404代表“NOT FOUND”,认为网页已经失效,通常将在库中删除,同时短期内如果spider再次发现这条url也不会抓取;

2、503代表“Service Unavailable”,认为网页临时不可访问,通常网站临时关闭,带宽有限等会产生这种情况。对于网页返回503状态码,百度spider不会把这条url直接删除,同时短期内将会反复访问几次,如果网页已恢复,则正常抓取;如果继续返回503,那么这条url仍会被认为是失效链接,从库中删除。

3、403代表“Forbidden”,认为网页目前禁止访问。如果是新url,spider暂时不抓取,短期内同样会反复访问几次;如果是已收录url,不会直接删除,短期内同样反复访问几次。如果网页正常访问,则正常抓取;如果仍然禁止访问,那么这条url也会被认为是失效链接,从库中删除。

4、301代表是“Moved Permanently”,认为网页重定向至新url。当遇到站点迁移、域名更换、站点改版的情况时,我们推荐使用301返回码,同时使用站长平台网站改版工具,以减少改版对网站流量造成的损失。

多种url重定向的识别

互联网中一部分网页因为各种各样的原因存在url重定向状态,为了对这部分资源正常抓取,就要求spider对url重定向进行识别判断,同时防止作弊行为。重定向可分为三类:http 30x重定向、meta refresh重定向和js重定向。另外,百度也支持Canonical标签,在效果上可以认为也是一种间接的重定向。

抓取优先级调配

由于互联网资源规模的巨大以及迅速的变化,对于搜索引擎来说全部抓取到并合理的更新保持一致性几乎是不可能的事情,因此这就要求抓取系统设计一套合理的抓取优先级调配策略。主要包括:深度优先遍历策略、宽度优先遍历策略、pr优先策略、反链策略、社会化分享指导策略等等。每个策略各有优劣,在实际情况中往往是多种策略结合使用以达到最优的抓取效果。

重复url的过滤

spider在抓取过程中需要判断一个页面是否已经抓取过了,如果还没有抓取再进行抓取网页的行为并放在已抓取网址集合中。判断是否已经抓取其中涉及到最核心的是快速查找并对比,同时涉及到url归一化识别,例如一个url中包含大量无效参数而实际是同一个页面,这将视为同一个url来对待

暗网数据的获取

互联网中存在着大量的搜索引擎暂时无法抓取到的数据,被称为暗网数据。一方面,很多网站的大量数据是存在于网络数据库中,spider难以采用抓取网页的方式获得完整内容;另一方面,由于网络环境、网站本身不符合规范、孤岛等等问题,也会造成搜索引擎无法抓取。目前来说,对于暗网数据的获取主要思路仍然是通过开放平台采用数据提交的方式来解决,例如“百度站长平台”“百度开放平台”等等。

蜘蛛抓取网页策略1:深度优先

什么是深度优先?简单的说,就是搜索引擎蜘蛛在一个页面发现一个连接然后顺着这个连接爬下去,然后在下一个页面又发现一个连接,然后就又爬下去并且全部抓取,这就是深度优先抓取策略。大家看下图

搜索引擎抓取深度优先

搜索引擎抓取深度优先

在上图中就是深度优先的示意图,我们假如网页A在搜索引擎中的权威度是最高的,假如D网页的权威是最低的,如果说搜索引擎蜘蛛按照深度优先的策略来抓取网页,那么就会反过来了,就是D网页的权威度变为最高,这就是深度优先!

蜘蛛抓取网页策略2:宽度优先

宽度优先比较好理解,就是搜索引擎蜘蛛先把整个页面的链接全部抓取一次,然后在抓取下一个页面的全部链接。

蜘蛛抓取网页策略2:宽度优先

蜘蛛抓取网页策略2:宽度优先

上图呢,就是宽度优先的示意图!这其实也就是大家平时所说的扁平化结构,大家或许在某个神秘的角落看到一篇文章,告诫大家,网页的层度不能太多,如果太多会导致收录很难,这就是来对付搜索引擎蜘蛛的宽度优先策略,其实就是这个原因。

蜘蛛抓取网页策略3:权重优先

如果说宽度优先比深度优先好,其实也不是绝对的,只能说是各有各的好处,现在搜索引擎蜘蛛一般都是两种抓取策略一起用,也就是深度优先+宽度优先,并且在使用这两种策略抓取的时候,要参照这条连接的权重,如果说这条连接的权重还不错,那么就采用深度优先,如果说这条连接的权重很低,那么就采用宽度优先!

那么搜索引擎蜘蛛怎样知道这条连接的权重呢?

这里有2个因素:1、层次的多与少;2、这个连接的外链多少与质量;

那么如果层级太多的链接是不是就不会被抓取呢?这也不是绝对的,这里边要考虑许多因素,我们在后边的进阶中会降到逻辑策略,到时候我在详细的给大家说!

蜘蛛抓取网页策略4:重访抓取

我想这个比较好理解,就是比如昨天搜索引擎的蜘蛛来抓取了我们的网页,而今天我们在这个网页又加了新的内容,那么搜索引擎蜘蛛今天就又来抓取新的内容,这就是重访抓取!重访抓取也分为两个,如下:

1、全部重访

所谓全部重访指的是蜘蛛上次抓取的链接,然后在这一个月的某一天,全部重新去访问抓取一次!

2、单个重访

单个重访一般都是针对某个页面更新的频率比较快比较稳定的页面,如果说我们有一个页面,1个月也不更新一次。

那么搜索引擎蜘蛛第一天来了你是这个样子,第二天,还是这个样子,那么第三天搜索引擎蜘蛛就不会来了,会隔一段时间在来一次,比如隔1个月在来一次,或者等全部重访的时候在更新一次。

以上呢,就是搜索引擎蜘蛛抓取网页的一些策略!那么我们上边说过,在搜索引擎蜘蛛把网页抓取回来,就开始了第二个部分,也就是数据分析的这个部分。

数据分析系统

数据分析系统,是处理搜索引擎蜘蛛抓取回来的网页,那么数据分析这一块又分为了一下几个:

1、网页结构化

简单的说,就是把那些html代码全部删掉,提取出内容。

2、消噪

消噪是什么意思呢?在网页结构化中,已经删掉了html代码,剩下了文字,那么消噪指的就是留下网页的主题内容,删掉没用的内容,比如版权!

3、查重

查重比较好理解,就是搜索引擎查找重复的网页与内容,如果找到重复的页面,就删除。

4、分词

分词是神马东西呢?就是搜索引擎蜘蛛在进行了前面的步骤,然后提取出正文的内容,然后把我们的内容分成N个词语,然后排列出来,存入索引库!同时也会计算这一个词在这个页面出现了多少次。

5、链接分析

这一个步骤就是我们平时所做的做烦躁的工作,搜索引擎会查询,这个页面的反向链接有多少,导出链接有多少以及内链,然后给这个页面多少的权重等。
数据索引系统

在进行了上边的步骤之后,搜索引擎就会把这些处理好的信息放到搜索引擎的索引库中。那么这个索引库又大致分为以下两个系统:

正排索引系统

什么是正排索引?简单的说,就是搜索引擎把所有URL都加上一个编号,然后这个编号对应的就是这个URL的内容,包括这个URL的外链,关键词密度等等数据。

搜索结果的改善优化

搜索引擎追求的三个目标就是更快,更全,更准。但是要达到这些目标并不是一件很轻松的工作,需要很多环节的处理。这一部分主要从以下一个方面来讲讲,怎样提高搜索引擎的搜索结果,改善搜索质量,提升搜索性能。

1、 作弊分析

⑴作弊方法:内容作弊:设置无关关键字,内容农场 (大量低质量内容)

⑵链接作弊:链接农场,互相链接...

⑶页面隐藏作弊:欺骗爬虫,隐藏无关关键字,重定向..

⑷WEB2.0作弊

2、反作弊整体思路

⑴信任传播

⑵不信传播

⑶异常发现

所谓信任传播模型:基本思路如下:在海量的网页数据中,通过一定的技术手段或者人工半人工手段,从中筛选出部分完全值得信任的页面,也就是肯定不会作弊的页面(可以理解为白名单),算法以这些白名单内的页面作为出发点,赋予白名单内的页面节点较高的信任度分值,其他页面是否作弊,要根据其和白名单内节点的链接关系来确定。白名单内节点通过链接关系将信任度分值向外扩散传播,如果某个节点最后得到的信任度分值高于一定阈值,则认为没有问题,而低于这一阈值的网页则会被认为是作弊网页。

所谓信任传播模型

所谓信任传播模型

不信任传播模型:从框架上来讲,其和信任传播模型是相似的,最大的区别在于:初始的页面子集合不是值得信任的页面节点,而是确认存在作弊行为的页面集合,即不值得信任的页面集合(可以理解为黑名单)。赋予黑名单内页面节点不信任分值,通过链接关系将这种不信任关系传播出去,如果最后页面节点的不信任分值大于设定的阈值,则会被认为是作弊网页。

不信任传播模型

不信任传播模型

Ⅲ异常发现模型:是一个高度抽象化的算法框架模型,其基本假设认为:作弊网页必然存在有异于正常网页的特征,这种特征有可能是内容方面的,也有可能是链接关系方面的。而制定具体算法的流程往往是先找到一些作弊的网页集合,分析出其异常特征有哪些,然后利用这些异常特征来识别作弊网页。

异常发现模型

异常发现模型

只要操纵搜索引擎搜索结果能够带来收益,那么作弊动机就会始终存在,尤其是在网络营销起着越来越重要宣传作用的时代尤其如此。作弊与反作弊是相互抑制同时也是相互促进的一个互动过程,“道高一尺,魔高一丈”的故事不断重演。前述内容主要是以技术手段来进行反作弊,而事实上纯粹技术手段目前是无法彻底解决作弊问题的,必须将人工手段和技术手段相互结合,才能取得较好的反作弊效果。技术手段可以分为相对通用的手段和比较特殊的手段,相对通用的手段对于可能新出现的作弊手法有一定的预防能力,但是因为其通用性,所以针对性不强,对特殊的作弊方法效果未必好。而专用的反作弊方法往往是事后诸葛亮,即只有作弊行为已经发生并且比较严重,才可能归纳作弊特征,采取事后过滤的方法。人工手段则与技术手段有很强的互补性,可以在新的作弊方式一出现就被人发现,可以看做一种处于作弊进行时的预防措施。所以从时间维度考虑对作弊方法的抑制来说,通用反作弊方法重在预防,人工手段重在发现,而专用反作弊方法重在事后处理,其有内在的联系和互补关系存在。

搜索引擎简单的工作原理概况

搜索引擎蜘蛛发现连接 → 根据蜘蛛的抓取策略抓取网页 → 然后交到分析系统的手中 → 分析网页 → 建立索引库。

weinxin
虎纠自媒体官方微信
这是我的微信扫一扫
f9seo
  • 本文由 发表于 2016年7月18日12:44:40
  • 转载请务必保留本文链接:https://www.f9seo.com/post-542.html
评论:2   其中:访客  2   博主  0
    • f9seo
      f9seo

      关于百度以及其它搜索引擎的工作原理,其实大家已经讨论过很多,但随着科技的进步、互联网业的发展,各家搜索引擎都发生着巨大的变化,并且这些变化都是飞快的。

      • k990461
        k990461 4

        最后我想说广大的SEO从业者们应该已经发现无论是百度还是谷歌或者其它的商业搜索引擎,他们都会要求seoer们不要去在意算法、不要去在意搜索引擎,而是去多关注用户体验。这里我们可以理解成一个比喻,搜索引擎是买西瓜的人,而SEO们是种西瓜的人,买西瓜的人要求我们这些种西瓜的人不要关心他们挑选西瓜的标准,而是多多在意怎么去种出好西瓜,而对于什么样的西瓜是他们需要的好西瓜,他们又往往用一些模糊的概念掩盖过去。诚然,这样搜索引擎得到的结果将会多样化,他们可以在挑选结果时有更多的选择,能够最大限度的维护这些商业搜索引擎自身的利益,但是请其也不要忘记,我们这些种西瓜的也要有口饭吃,所有了解搜索引擎工作原理对我们以后工作生活都是很有作用的。

      匿名

      发表评论

      匿名网友 填写信息

      :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

      确定