本文简单的介绍了一下搜索引擎的工作原理,包括搜索引擎的抓取策略,搜索引擎如何处理页面的内容,怎样会判断一个网站是否作弊等
搜索引擎的大致原理:
首先搜索引擎的调度器会派蜘蛛去抓页,并且放到网页数据库,而且他有去重功能,避免重复抓取页面。
网页分析模块会对网页的内容进行分词,还有去掉一些没用的内容比如广告,然后一个网页的所有内容最终会变成一个个分词。记住在搜索引擎眼里,一个网页内容其实最后是一个个分词。
然后索引器会对这些分词进行倒排索引,权重计算和网页分类
然后会将这些关键词放到索引数据库中,她会把关键词和网页url和权重都写好了放在数据库中, 所以用户在百度一搜关键词就能马上搜出来对应的网页和排名
搜索引擎还有一个用户行为日志
比如很多用户,搜一个词,然后对这个词,这些用户只点击某一个网页,那么这个网页很快就会排到前面
详细原理:
搜索引擎的原理主要是3个过程:
a.网页收集
就是爬虫去不停的下载网页。
1.蜘蛛的分类:
批量型蜘蛛:有明确的的抓取目标和范围,抓完一批网页后就不抓了即停止
这种蜘蛛会不断的抓取新网页,而不会去抓取以前抓过的网页
增量型蜘蛛:会去抓取以前抓过的网页,该种是为了应对网页的不断更新而出现的,当网页出现更新,被这种爬虫爬取到之后就会对该页面的快照更新以及爬取页面中更新了的链接。特别针对首页。
垂直型蜘蛛:只针对某个特定领域的蜘蛛,根据主题过滤。比如某个垂直型蜘蛛是抓汽车的,它就会只抓你页面中和汽车有关的,而和汽车无关的链接就会被过滤
2.蜘蛛抓取策略:
简单策略:尽可能多抓取网页,防止重复抓取
spider眼中的网页分类:
已抓取 待抓取 可抓取 暗网页面
暗网页面就是蜘蛛抓取不到的,比如是你禁止抓取的,或者用户注册的过程页面
深度优先策略:
比如一个简单网站有,首页 5个栏目页,栏目页有很多内容页
他会先抓首页-->第一个栏目页-->第一个栏目页的所有内容页-->第二个栏目页-->第二个栏目页的所有内容页....
广度优先策略
先抓首页 -- 然后抓首页中出现的所有页面 -- 然后才会在抓栏目页下的所有内容页
对于新站,搜索引擎是采用广度优先策略
所以做网站层级不要那么深
3.蜘蛛再次抓取更新策略:
为什么蜘蛛会再次抓取:一个是因为页面会更新,比如有很多新闻和文章的首页;
一个是有些页面的会被删除
再次抓取频率影响因素:
一、用户体验,如果一个页面的跳出率很高,蜘蛛就会去看看这个网页是不是404之类的
二、历史更新频率,你的网页内容更新的越快,她来爬的频率就越高。注意是内容更新(文章之类的),而不是页面代码结构的更改。代码更改太多,搜索引擎会惩罚的。
三、网页类型和网站权重
网页类型,比如你首页,它的爬取频率肯定高,而内容页很少变,所以内容页的爬取频率就低。
权重越高,抓取频率越高
4.分布式蜘蛛(提高效率,蜘蛛分工)
不同的蜘蛛会有不同的分工
按网站质量:优秀站点,垃圾站点,降权站点,被K站点。
按网站类型:
首页
目录页
内容页
专题页
图片页
视频页
...
按行业分类:
影视
游戏
新闻
军事
体育
汽车
...
针对这些站点会有不同的蜘蛛负责去爬不同的站点
5.降权蜘蛛
并不存在降权蜘蛛,不是说因为降权蜘蛛来爬了导致你网站降权了
而是你网站违反了某些规则导致你降权了
6.蜘蛛和普通用户的区别:
一、蜘蛛可以读取到页面的隐藏内容,是否挂了黒链暗链。但是不能完全了解图片的内容(不过可以通过图片中的title和alt这样属性知道这个图片大概和什么有关),更不能读取js,iframe,flase的内容。用户相反。
这里我说一下明链,暗链,黒链的概念:
明链就是正规外链 比如 ...。用户看得见的。
暗链就是看不见的外链,比如用style="display:none"或者用js方式隐藏起来的外链,搜索引擎看得到但用户看不到
黒链是黑客利用服务器漏洞往你网站中添加的链接,提升自己网站在百度搜索引擎中的排名。它可能是明链也可能是暗链。
二、spider没有cookie,普通用户有
三、spider不会主动注册登录网站。用户会;spider不会抓取和分析robots中已屏蔽的页面。用户可以
四、spider对有多个动态参数网站的抓取可能会陷入死循环,用户不会
比如页面中有很多参数为a=随机数的链接,可是它们展现的内容是一样的,这样蜘蛛会不同的抓,但抓到的内容是一样的
b.预处理
1.首先会判断这个页面类型(普通页面-文本,视频,图片,pdf等)
2.提取网页文本信息(三大标签和正文内容)
3.去除网页噪声(与网页无关的广告,导航栏,版权,无关链接)
像那种,每个页面都存在的,他都会当做噪声被去掉,像那种每个页面都相同的侧边栏,还有头部,尾部。所以,主页侧边栏和每个栏目的侧边栏要做成不一样
无关链接就是,你的网站是外汇的,你的链接是链向汽车的。
4.取出内容中的停止词(得,的,啊,地,呀,却)
因为搜索引擎存一个页面的内容存的其实是一个个关键词,而地、的这样的词肯定不会是关键词,所以肯定会被去掉
搜索引擎对比你的文章是否抄别人的文章,比较的也肯定不会是所有字,而是比较有多少关键词重复和相似。
5.建立正向索引和倒排索引
正向索引就是百度把某个链接对应了很多关键词
倒排索引是百度把某个关键词对应了很多链接
用户查的时候用的是倒排索引
c.用户查询
有缓存机制
==========================
预处理中的索引原理:
正向索引:建立某网页对应的关键词
倒排索引:建立某关键词对应的网页
站长工具有一个功能叫 机器人模拟抓取
抓取的结果是一堆分词后的关键词
你可以试试
搜索引擎先对所抓取的页面进行正向索引,分了词之后,会根据关键词的位置,网站的权重,网页的权重,该关键词的外链数量等因素,比对该关键词下的所有其他页面来给你这个网页一个排名。然后这里面有一个复杂的算法了。
一个页面最好只做(只放)一两个关键词,不要做太多关键词。
一个页面做的关键词越多,你这个页面对该关键词的排名就越低,因为你不够精确,搜索引擎不知道你想做的到底是哪个关键词。
===========================
预处理中的网页去重原理:
讲这个可以帮助你,让你的网页不被搜索引擎过滤掉,让你的网页不被认为是趴取别人的网页。
他的去重是有很多算法的
有时候,你的网页一开始被收录了,但后来又不见了,就是因为一开始爬取了你的页面之后,他只是用简单的算法来检查你的网页,认为没问题,就给你收录了,过多几天它有用更严格的算法来检查,发现和别人的网页重复了,然后一去重,你的网页就被过滤掉了,从而从收录中消失。
去重算法1:指纹去重
该方法会先从你的页面随机提取有代表性的关键词,是抽样抽取而不是抽取全部关键词,然后对这些关键词进行加密形成指纹,一个指纹代表一个关键词,然后和其他页面的指纹(即关键词)对比,看看相同相似的关键词有多少,来判断你的网页是不是采集别人的内容。
所以如果你要采集别人的文章,做文章近义词替换是很有必要的。
去重算法2:连续切割
举个例子:一句话
“搜索引擎优化需要了解原理”
切割后变成
搜索引,索引擎,引擎优,擎优化,...
然后对比上面这些词有多少是重复的,这样他可以判断出你是不是伪原创。当然它的做法会复杂很多,上面只是举个简单的例子
去重算法3:I-Match算法
就是去掉网页中高频和低频的词,剩下网页中的中频词来进行指纹对比
去重算法4:SimHash算法、余弦算法
无法描述
不过前3中算法知道了就可以做相应的处理了。
=====================
用户需求分析:
了解这个知识,可以帮助你了解,选择什么词去做,什么词做了可以吸引来用户。
搜索词分析:
1.普通文本搜索:最常用的搜索
用户在百度搜索一个词,或者一个句子
百度会先对搜索内容分词,如果有错别字,它也会给你自动矫正。分词之后,会找分词中比较重要的词去搜索相应的网页
2.高级指令搜索
如:site:www....com
查询收录量
这个就不会对他进行分词
不仅可以在网页中用这个命令,你还可以在百度图片中使用该命令查看有多少图片被收录。
3.普通文本带高级指令搜索:
如:site:www...com inurl:aaa
就会搜www...com中url包含aaa的网页
搜索意图分析:就是你搜某个词,搜索引擎会分析你搜这个词的意图从而展现给你想要的页面。
比如你搜索苹果
他会分析你是要搜吃的苹果还是苹果手机还是电影呢
结果搜到的苹果手机的页面比较多
因为搜索后,点击苹果手机的人更多,所以之后百度会展现苹果手机的页面比较多。但是它也不会全部展示苹果手机,而是多样化的展示其他关于苹果的页面。
了解这个有什么用呢,你可以针对这个关键词看看都有些什么类型的页面。看看缺什么类型的页面你就可以去做这种类型。
还有,不要去做大词,做小词。因为大词对应的页面比小词对应的页面多很多,你很难排名上去。
==================
内容相关性计算:
用于计算某个关键词和这个页面有多大关系。
1.关键词匹配的因素
a.关键词频率:起码出现1次吧
b.关键词密度:2%~8%
如何查询关键词密度,在站长工具可以查,是在不知道可以百度搜怎么查
c.关键词之间的距离
比如FX112外汇网站,如果你的标题是,FX112是专业的外汇网站
这个就是距离,距离越短,越容易匹配
d.关键词位置和形式
放在标题的,使用h标签的,加粗的,变色的关键词就相当于告诉搜索引擎这个关键词是重要的。
e.外链锚文本
就是加外链的时候,所加的锚文本要包含你想做的关键词,那么你想做的这个关键词就容易排名。
xxx
里面的xxx就是锚文本
2.语义分析
有时候,你想做一个词,但是你的网页中没有这个词,但有这个词很相近的词也是可以的。但是效果没那么好。
这就是为什么你踩文章要采和这个网站相同类型的网站的文章。因为即使这些文章没有出现你网站的关键词,但肯定有近义词。
===========================
链接分析
1.行业相关
就是做外链的话,你要在相关行业的网站加外链,这样的外链权重较高
2.外链质量
就是要在权重比较高的网站添加外链会比较有效,这样的外链质量高
3.外链数量
如果数量够多,即使行业不相关,添加外链的权重不高也可以起来。
4.多样性--域名数量
就是不要只在一个域名加外链,而是再多个网站加外链。
质量比数量重要
==========================
用户体验判断
简单的说就是搜索引擎会计算点击率和跳出率
所以你的网站做的好看以及内容里有干货,对别人有用也是很重要的。
不要只做优化,同时也要经营好自己的网站,每天坚持发些原创的文章
还有,备案挺重要。
=========================
有效索引和缓存机制
有效索引就是你搜索关键词它不会把所有的页面都展现出来,而是只展现760条。
=========================
搜索引擎反作弊算法
1.白名单
即内容质量,权重,品牌知名度比较高的网站。
这种网站即使做出了一些作弊的事,比如采集,关键词堆砌,搜索引擎也不会有处罚他们
而且搜索引擎的初始抓取站点就是白名单的站点。
如,hao123,新浪网等
做外链的话也尽量在白名单里面做,但是这个成本比较高。
而且很多白名单的网站也不会愿意给你做外链,即使你买他也不会卖
但是你可以在离白名单网站近的网站做外链
比如hao123里面不是有很多导航网站吗,你可以在这些网站里面做外链。
它还不愿意的话,就再找这个网站附近的网站做外链
做外链的话一般是找那种权重对等的网站做。比如你的权重是1,就找那种权重是1,2的网站去做外链
2.黑名单
就是明显作弊的网站
3.正常网站中有多个链接指向黑名单中的网站,那么这个网站会被认定为不健康的网站。
可以在站长工具 tool.chinaz.com 中查这个网站的友情链接
如果发现有很多娱乐和赌博之类的外链就是被挂了黒链。
4.同IP的网站有大量黑名单网站也会被认为作弊。
因为你买服务器的时候,可能商家卖给你的IP是共享IP,也就是说你的这个IP有其他人的网站。