当前位置:SEO首页 > SEO教程 >

SEO教程

搜索引擎工作原理/流程

在好久好久以前,小强哥在做在线教育(SEO教学)的时候第二课讲的就是搜索引擎工作原理,为什么这里说是搜索引擎,而不是百度呢?因为百度也好,谷歌也罢,他们的原理基本差不多,只是有细节上的算法不一样,或者是评判某个URL权重的评判数不一样,或者是它们分词的词库不一样,等等。

对于一个SEOer来说,搜索引擎工作原理是必须要掌握的,虽然搜索引擎的工作原理比较抽象话,对于新手来说,有点难以接受,但是,相信我,硬着头皮,也要学下去。

学习搜索引擎工作原理,其实就是学习他的四个系统,分别是爬虫系统、数据分析系统、数据索引/缓存系统、展示系统。

一、爬虫系统

大家先想想看,我们的网页,为什么会平白无故的出现在搜索引擎的结果中呢?

01.什么是爬虫?

爬虫,也叫做蜘蛛,搜索引擎爬虫与搜索引擎蜘蛛是一个东西,它其实就是一个半人工智能的自动应用程序,就好像我们电脑上的QQ、迅雷等,只不过它们的作用不一样,展现的形式不意义,双击QQ是打开登录框,登陆QQ,双击蜘蛛爬虫或许就是自动运行,抓取网页,当然,这样的描述十分不严谨,但是对于小白,我想比较容易理解,实际上,搜索引擎这种集群式也不可能出现双击打开的情况。。。

简单的说,爬虫,的任务,就是不断的抓取互联网上的所有网页,并且把这些网页放到自己的服务器上。

02.爬虫是怎样抓取网页呢?

爬虫是通过URL来抓取网页的,简单的步骤就是爬虫发现一个URL - 打开这个网页 - 下载这个网页 - 加入到临时库 - 提取网页的URL - 继续抓取 - 循环

首先,爬虫发现某一个URL,然后打开这个网页(查看源码形式),然后把这些网页(源码)下载下来,然后放到一个临时的地方(临时库),然后不管了,继续抓取,向百度啊、谷歌啊、360啊这种大型搜索引擎,蜘蛛不可能是一个,不然得把孩子类似,蜘蛛爬虫是非常非常多的,也就是多线程。

疑问:把网页源码放到临时库以后呢?接下来,就用到数据分析系统了,这个晚些再说。

03.爬虫抓取网页的时候,是否有规律?

嗯,当然有规律,如果没有规律的话,一些垃圾网页也被抓取回来,这样会浪费掉很多爬虫的资源,并且如果没有规律的话,爬虫也爬不过来。

04.爬虫抓取网页的基本规律

(1)深度优先

所谓深度有限,就是爬虫抓取了A网页,然后发现A网页的第一个URL,然后继续抓到B网页,然后发现B网页的第一个URL,然后继续抓到C网页,以此类推,如下图所示:

深度优先
深度优先

假如ABCD四个网页,A最有价值,D最没有价值,如果按照深度优先的抓取策略,显然最后的D会变成最有价值的,可能大家不太好理解,举个小例子,ABCD四个人,第一天给A一块糖,第二天给B一块糖,以此类推,那么甜到最后的人是谁呢?肯定是D,是吧?好吧,这个例子举得不怎么样,但是相信各位已经懂了。

(2)宽度优先

宽度优先就比较好理解了,就是爬虫把A网页的全部URL都抓取回来,然后在抓下一个B网页,然后再把...

宽度优先
宽度优先

这也就是,为什么,我们说,URL层级目录不要太深的原因之一,宽度优先看似很不错的抓取方法,但是也有它的弊端,比如网页类型效率很低等。

(3)权重优先

如果说,宽度优先要比深度优先好,也不能这样说,各有利弊,当然,大家也能想得到,搜索引擎不会笨的只让爬虫用一种策略去抓取网页,当然是搭配着来的啦,并且,在抓取网页的时候,还需要第三种,也就是权重优先,如果说,这个URL的权重很高,那么就采取深度优先,反则,使用宽度优先,那么搜索引擎是怎么判断一个URL的权重高低呢?基本上,有四个方面,如下:

第一个就是这个URL的层级目录的多少

第二个就是这个URL复杂不复杂(这也是为什么推荐大家用静态页面)

第三个就是这个URL有多少内链指向它

第四个就是这个URL有多少外链

(4)重访抓取

这个十分容易理解啦,就是爬虫第二次、第三次等来重新抓取这个页面,重访抓取又分为了全部重访与单个重访。

1)全部重访

其实就是所谓的百度大更新,把所有的URL全部重新抓取一次。

2)单个重访

一般情况下,单个重访是针对某一个权重稳定的页面来说,比如,某个首页,每天定时更新一些原创性的质量文章,那么慢慢的,这个蜘蛛每天都会在固定时间来抓取一次。

二、数据分析系统

爬虫抓取回来的页面,都会交给数据分析系统,也是在这里决定了我们网站的排名。

01.网页源码基础判断

蜘蛛抓取回来的网页,都是源码,这个时候,数据分析系统首先会进行一个基础的判断,主要判断一些和内容无关的“动作”,比如网页源码中是否有if框架、是否有js弹窗等等,然后记录下。

02.网页一级消噪

第二部,进行一级消噪,所谓的一级消噪,就是删掉js代码,留下html与css,同样,判断一些“动作”,看是否有作弊现象等等(比如CSS设置某个DIV块的背景是黑色,然后又设置了字体的颜色为黑色,从而达到堆砌关键词等目的)

03.网页二级消噪

第三部分,是删掉css代码,只留下内容与HTML源码,这一步,主要判断一些权重标签与站内URL连接的权重传递等等,比如H1标签H2标签,加粗、变色等等。

04.网页三级消噪

额,,就是去掉html代码,只留下内容。

05.查重

所谓查重,就是对面搜索引擎库中现有的内容,是否和这片内容有重复,从而对这个网页进行评级。

06.分词

分词,就是把标题也好,整篇内容也罢,分成一个一个的词语(搜索引擎有着十分十分十分庞大的词库),并且存入索引系统,当然在与此同时,也会分析,某个词出现了多少次等等数据。

07.URL分析

分析系统开始分析这个URL的外链有多少,对应页面的评级是怎样,这个URL的内链有多少,锚文本是什么等等乱七八糟的。

08.评级

最后,为这个网页(URL)进行一个内部的评级,谷歌叫做PR值,百度没有,最后的评级是根据所有所有的数据来说的,比如会分析你是否有堆砌关键词的嫌疑啊,有没有站内链接恶意使用啊等等,随后的结果最后放入索引系统

三、索引系统

通过数据分析系统得到的数据,索引系统会通过它内部的复杂的算法进行URL-关键词进行最终的排名,这才是决定生死的时候,当然,如果数据分析系统那里,网页表现的很好,那么在索引系统这边的排名结果也不会很差。

索引系统,又分为正排索引和倒排索引,想想开,当我们在搜索引擎中搜索某个关键词,点击搜索以后,只有0.0几秒就出现了结果,对于搜索引擎这么庞大的数据,为什么会反应这么快呢?单单的是因为服务器多么?NONO,这里就涉及到正排和倒排索引,如果我们要从一本字典中找某个字,如果一页一页翻,显然效率很慢,这个时候,我们直接查询目录,就快许多了,是吧?

那么,正排索引和倒排索引是类似的,因为这里不涉及到SEO,就不详细的讲解了。

四、展示系统

这就是展示系统

这就是展示系统

共勉!

最后的最后:当然,搜索引擎并不是本文所说的这么简单,本文只是阐述了一个最为最为基本的工作流程,其中有许许多多的小分支,比如,分析系统中,当遇到一个页面有两个h1标签的时候,分析系统会怎么去判断,这就是搜索引擎的内部算法了。

上一篇:没有了