龙喵专栏 /运营 /内容

图文详解搜索引擎(seo)的工作原理

搜索引擎,通常指的是收集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。根据自己的优化程度,获得相应的名次。

搜索引擎的工作的过程非常复杂,而简单的讲搜索引擎的工作过程大体可以分成三个阶段。

  • 爬行和抓取:搜索引擎蜘蛛通过跟踪链接访问页面,获取页面 HTML 代码存入数据库。

  • 预处理:搜索赢球对抓取来的页面数据文字进行文字提取、中文分词、索引等处理,以备排名程序调用。

  • 排名:用户输入关键字后,排名调用索引库数据,计算相关性,然后按一定格式生成搜索结果页面。

搜索引擎的工作流程

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

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

蜘蛛代理名称:

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

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

首先搜索引擎的蜘蛛需要去发现链接,至于怎么发现就简单了,就是通过链接链接链接。搜索引擎蜘蛛在发现了这个链接后会把这个网页下载下来并且存入到临时的库中,当然在同时,会提取这个页面所有的链接,然后就是循环。

搜索引擎蜘蛛几乎是24小时不休息的(在此为它感到悲剧,没有假期。哈哈。)那么蜘蛛下载回来的网页怎么办呢?这就需要到了第二个系统,也就是搜索引擎的分析系统。

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

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

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

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

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

图文详解搜索引擎(seo)的工作原理

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

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

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

图文详解搜索引擎(seo)的工作原理

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

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

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

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

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

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

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

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

1、全部重访

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

2、单个重访

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

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

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

数据分析系统

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

1、网页结构化

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

2、消噪

绝大部分页面上还有一部分内容对页面主题也没有什么贡献,比如版权声明文字、导航条、广告等。以常见的博客导航为例,几乎每个博客页面上都会出现文章分类、 历史存档等导航内容,但是这些页面本身与“分类”、“历史”这些词都没有任何关系。用户搜索“历史”、“分类”这些关键词时仅仅因为页面上有这些词出现而 返回博客帖子是毫无意义的,完全不相关。所以这些区块都属于噪声,对页面主题只能起到分散作用。

搜索引擎需要识别并消除这些噪声,排名时不使用噪声内容。消噪的基本方法是根据 HTML 标签对页面分块,区分出页头、导航、正文、页脚、广告等区域,在网站上大量重复出现的区块往往属于噪声。对页面进行消噪后,剩下的才是页面主体内容。

3、查重

搜索引擎还需要对页面进行去重处理。

同 一篇文章经常会重复出现在不同网站及同一个网站的不同网址上,搜索引擎并不喜欢这种重复性的内容。用户搜索时,如果在前两页看到的都是来自不同网站的同一 篇文章,用户体验就太差了,虽然都是内容相关的。搜索引擎希望只返回相同文章中的一篇,所以在进行索引前还需要识别和删除重复内容,这个过程就称为“去 重”。

去重的基本方法是对页面特征关键词计算指纹,也就是说从页面主体内容中选取最有代表性的一部分关键词(经常是出现频率最高的关键 词),然后计算这些关键词的数字指纹。这里的关键词选取是在分词、去停止词、消噪之后。实验表明,通常选取 10 个特征关键词就可以达到比较高的计算准确 性,再选取更多词对去重准确性提高的贡献也就不大了。

典型的指纹计算方法如 MD5 算法(信息摘要算法第五版)。这类指纹算法的特点是,输入(特征关键词)有任何微小的变化,都会导致计算出的指纹有很大差距。

了解了搜索引擎的去重算法,SEO 人员就应该知道简单地增加“的”、“地”、“得”、调换段落顺序这种所谓伪原创,并不能逃过搜索引擎的去重算法,因为这样 的操作无法改变文章的特征关键词。而且搜索引擎的去重算法很可能不止于页面级别,而是进行到段落级别,混合不同文章、交叉调换段落顺序也不能使转载和抄袭 变成原创。

4、分词

分词是中文搜索引擎特有的步骤。搜索引擎存储和处理页面及用户搜索都是以词为基础的。英文等语言单词与单词之间有空格分隔,搜索引擎索引程序可以直接把句子 划分为单词的集合。而中文词与词之间没有任何分隔符,一个句子中的所有字和词都是连在一起的。搜索引擎必须首先分辨哪几个字组成一个词,哪些字本身就是一 个词。比如“减肥方法”将被分词为“减肥”和“方法”两个词。

中文分词方法基本上有两种,一种是基于词典匹配,另一种是基于统计。

基于词典匹配的方法是指,将待分析的一段汉字与一个事先造好的词典中的词条进行匹配,在待分析汉字串中扫描到词典中已有的词条则匹配成功,或者说切分出一个单词。

按照扫描方向,基于词典的匹配法可以分为正向匹配和逆向匹配。按照匹配长度优先级的不同,又可以分为最大匹配和最小匹配。将扫描方向和长度优先混合,又可以产生正向最大匹配、逆向最大匹配等不同方法。

词典匹配方法计算简单,其准确度在很大程度上取决于词典的完整性和更新情况。

基于统计的分词方法指的是分析大量文字样本,计算出字与字相邻出现的统计概率,几个字相邻出现越多,就越可能形成一个单词。基于统计的方法的优势是对新出现的词反应更快速,也有利于消除歧义。

基于词典匹配和基于统计的分词方法各有优劣,实际使用中的分词系统都是混合使用两种方法的,快速高效,又能识别生词、新词,消除歧义。

中文分词的准确性往往影响搜索引擎排名的相关性。比如在百度搜索“搜索引擎优化”,从快照中可以看到,百度把“搜索引擎优化”这六个字当成一个词。

而在 Google 搜索同样的词,快照显示 Google 将其分切为“搜索引擎”和“优化”两个词。显然百度切分得更为合理,搜索引擎优化是一个完整的概念。Google 分词时倾向于更为细碎。

这种分词上的不同很可能是一些关键词排名在不同搜索引擎有不同表现的原因之一。比如百度更喜欢将搜索词完整匹配地出现在页面上,也就是说搜索“够戏博客” 时,这四个字连续完整出现更容易在百度获得好的排名。Google 就与此不同,不太要求完整匹配。一些页面出现“够戏”和“博客”两个词,但不必完整匹配 地出现,“够戏”出现在前面,“博客”出现在页面的其他地方,这样的页面在 Google 搜索“够戏博客”时,也可以获得不错的排名。

搜索引擎对页面的分词取决于词库的规模、准确性和分词算法的好坏,而不是取决于页面本身如何,所以 SEO 人员对分词所能做的很少。唯一能做的是在页面上用某种形 式提示搜索引擎,某几个字应该被当做一个词处理,尤其是可能产生歧义的时候,比如在页面标题、h1 标签及黑体中出现关键词。如果页面是关于“和服”的内 容,那么可以把“和服”这两个字特意标为黑体。如果页面是关于“化妆和服装”,可以把“服装”两个字标为黑体。这样,搜索引擎对页面进行分析时就知道标为 黑体的应该是一个词。

5、链接分析

链接关系计算也是预处理中很重要的一部分。现在所有的主流搜索引擎排名因素中都包含网页之间的链接流动信息。搜索引擎在抓取页面内容后,必须事前计算出:页 面上有哪些链接指向哪些其他页面,每个页面有哪些导入链接,链接使用了什么锚文字,这些复杂的链接指向关系形成了网站和页面的链接权重。

Google PR 值就是这种链接关系的最主要体现之一。其他搜索引擎也都进行类似计算,虽然它们并不称为 PR.

由于页面和链接数量巨大,网上的链接关系又时时处在更新中,因此链接关系及 PR 的计算要耗费很长时间。关于 PR 和链接分析,后面还有专门的章节介绍。

6、特殊文件处理

除 了 HTML 文件外,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如 PDF、Word、WPS、XLS、PPT、TXT 文件等。我们在搜索结果 中也经常会看到这些文件类型。但目前的搜索引擎还不能处理图片、视频、Flash 这类非文字内容,也不能执行脚本和程序。

虽然搜索引擎在识别图片及从 Flash 中提取文字内容方面有些进步,不过距离直接靠读取图片、视频、Flash 内容返回结果的目标还很远。对图片、视频内容的排名还往往是依据与之相关的文字内容,详细情况可以参考后面的整合搜索部分。

数据索引系统

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

正向索引

正向索引也可以简称为索引。

经过文字提取、分词、 消噪、去重后,搜索引擎得到的就是独特的、能反映页面主体内容的、以词为单位的内容。接下来搜索引擎索引程序就可以提取关键词,按照分词程序划分好的词, 把页面转换为一个关键词组成的集合,同时记录每一个关键词在页面上的出现频率、出现次数、格式(如出现在标题标签、黑体、H 标签、锚文字等)、位置(如页 面第一段文字等)。这样,每一个页面都可以记录为一串关键词集合,其中每个关键词的词频、格式、位置等权重信息也都记录在案。

搜索引擎索引程序将页面及关键词形成词表结构存储进索引库。简化的索引词表形式如表 2-1 所示。

每个文件都对应一个文件 ID,文件内容被表示为一串关键词的集合。实际上在搜索引擎索引库中,关键词也已经转换为关键词 ID.这样的数据结构就称为正向索引。

倒排索引

正向索引还不能直接用于排名。假设用户搜索关键词 2,如果只存在正向索引,排名程序需要扫描所有索引库中的文件,找出包含关键词 2 的文件,再进行相关性计算。这样的计算量无法满足实时返回排名结果的要求。

所以搜索引擎会将正向索引数据库重新构造为倒排索引,把文件对应到关键词的映射转换为关键词到文件的映射,如表 2-2 所示。

在倒排索引中关键词是主键,每个关键词都对应着一系列文件,这些文件中都出现了这个关键词。这样当用户搜索某个关键词时,排序程序在倒排索引中定位到这个关键词,就可以马上找出所有包含这个关键词的文件。

排名

经过搜索引擎蜘蛛抓取的界面,搜索引擎程序 计算得到倒排索引后,收索引擎就准备好可以随时处理用户搜索了。用户在搜索框填入关键字后,排名程序调用索引库数据,计算排名显示给客户,排名过程是与客户直接互动的。

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

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

1.部分文章来自网络,如有侵犯权益,请联络博主,资源失效与内容勘误留言说明.

2.如若转载,请注明出处:http://ailongmiao.com/read/40.html

[ SEO运营导航 ]:http://ailongmiao.com/seo/

评论

继续阅读

快照回档是怎么回事

SEO运营 2019-03-27 11

网站快照回档是指百度的快照被退回到之前日期的快照。很多站长常常遇到这种情况,一段时间网站快照更新正常,但是,过一段时间网站快照

网站被K了怎么办!

SEO运营 2019-03-22 13

我们经常会遇到很多SEO人员的网站被搜索引擎K了,被K的意思就是网站被搜索引擎惩罚了,到处找所谓的SEO大神求助,最后还是无用功,作为优

  选择打赏方式

打赏

打赏