本软件提供(25天)试用期限 90%以上网站 一般使用本软件15天左右 网站都已经排名上首页, 网站排名效果看得到 实实在在的效果。(每天在线8小时 15天后 看自己网站排名 搜狗 360 百度 均排名靠前!!)

使用本软件 搜索引擎来访网站次数明显上升 网站iis蜘蛛访问日志截图

 

互联网信息爆发式增长时代,要想做好SEO(如果还不知道什么是seo请阅读seo是什么学seo有什么用呢?),seo就必须要简单的了解搜索引擎基本工作原理以及自然排名机制。
搜索引擎工作过程是非常复杂,本章介绍的内容相对于真正的搜索引擎技术来说仅仅是皮毛,不过对新手SEO已经足够用了,尽量以最容易理解的方式来讲解。
一、搜索引擎蜘蛛
搜索引擎蜘蛛又称网页爬虫。目的:抓取高质量的网页内容。下面讲几个常见的搜索引擎蜘蛛分类:
1.1 Baiduspider(百度蜘蛛)
百度公司还有其它几个蜘蛛:Baiduspider-news(新闻)、Baiduspider-mobile(wap)、Baiduspider-image(图片)、Baiduspider-video(视频),站长经常见到的是Baiduspider和Baiduspider-image。
1.2 Googlebot(谷歌蜘蛛)
还发现一个Googlebot-Mobile,看名字应该是抓取wap内容的。
1.3 360Spider(360蜘蛛)
它是一个很“勤奋抓爬”的蜘蛛。
1.4 Sogou News Spider(搜狗蜘蛛)
还包括如下这些:Sogou web spider、Sogou inst spider、Sogou spider2、Sogou blog、Sogou News Spider、Sogou Orion spider,看最权威的百度的robots.txt http://www.baidu.com/robots.txt 就为Sogou搜狗蜘蛛费了不少字节,占了一大块领地。
其它还有很多蜘蛛就不过多介绍,SEO优化主要针对这四个就可以,有兴趣可阅读搜索引擎蜘蛛大全这篇文章。

二、搜索引擎的工作原理

小编认为搜索引擎的工作原理大致上可以分成3个阶段:1.爬行和抓取;2.预处理(建立索引);3.输出结果。
2.1 爬行和抓取
搜索引擎蜘蛛通过链接发现链接的方式去访问网页,从而获得页面HTML代码存入数据库。
那么搜索引擎蜘蛛又是怎样抓取网页的呢?
答:发现某一个链接 → 下载这一个网页 → 加入到临时库 → 提取网页中的链接 → 在下载网页 → 循环。

2.2 预处理(建立索引)
蜘蛛(专业术语:索引程序)对抓取来的网页内容要进行关键词提取、生成倒排索引、页面PageRank值及TrustRank值计算、页面关键词相关性等处理,以备排名程序调用,这也是搜索引擎能在极短时间内返回搜索结果的关键,其中我们最关心的是PR值和相关性。
2.3 输出结果
用户输入关键词后,排名程序调用索引库数据,程序自动匹配关键词,然后按一定规则生成搜索结果展示页面,这是因为前面的预处理,搜索引擎才能够在很短的时间内返回输出结果,这里特别要提醒一下,自然搜索排名和竞价推广排名是有区别的额。

首先先介绍一下我们生活中的数据类型:结构化数据和非结构化数据。
结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。
非结构化和半结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。半结构化数据,如XML,HTML等。
按照数据的分类,搜索也分为两种:
对结构化数据的搜索:如对数据库的搜索,用SQL语句。再如对元数据的搜索,如利用windows搜索对文件名,类型,修改时间进行搜索等。
对非结构化数据的搜索:如利用windows的搜索也可以搜索文件内容,Linux下的grep命令,再如用Google和百度可以搜索大量内容数据。
对非结构化数据也即对全文数据的搜索主要有两种方法:
一种是顺序扫描法(Serial Scanning):所谓顺序扫描,比如要找内容包含某一个字符串的文件,就是一个文档一个文档的看,对于每一个文档,从头看到尾,如果此文档包含此字符串,则此文档为我们要找的文件,接着看下一个文件,直到扫描完所有的文件。如利用windows的搜索也可以搜索文件内容,只是相当的慢。如果你有一个80G硬盘,如果想在上面找到一个内容包含某字符串的文件,不花他几个小时,怕是做不到。Linux下的grep命令也是这一种方式。大家可能觉得这种方法比较原始,但对于小数据量的文件,这种方法还是最直接,最方便的。但是对于大量的文件,这种方法就很慢了。
有人可能会说,对非结构化数据顺序扫描很慢,对结构化数据的搜索却相对较快(由于结构化数据有一定的结构可以采取一定的搜索算法加快速度),那么把我们的非结构化数据想办法弄得有一定结构不就行了吗?
这种想法很天然,却构成了全文检索的基本思路,也即将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。
这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引。
这种说法比较抽象,举几个例子就很容易明白,比如字典,字典的拼音表和部首检字表就相当于字典的索引,对每一个字的解释是非结构化的,如果字典没有音节表和部首检字表,在茫茫辞海中找一个字只能顺序扫描。然而字的某些信息可以提取出来进行结构化处理,比如读音,就比较结构化,分声母和韵母,分别只有几种可以一一列举,于是将读音拿出来按一定的顺序排列,每一项读音都指向此字的详细解释的页数。我们搜索时按结构化的拼音搜到读音,然后按其指向的页数,便可找到我们的非结构化数据——也即对字的解释。
这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)。

二、索引里面究竟存些什么

索引里面究竟需要存些什么呢?(我们以JAVA开源的全文检索系统Lucene为例)。

首先我们来看为什么顺序扫描的速度慢:
其实是由于我们想要搜索的信息和非结构化数据中所存储的信息不一致造成的。
非结构化数据中所存储的信息是每个文件包含哪些字符串,也即已知文件,欲求字符串相对容易,也即是从文件到字符串的映射。而我们想搜索的信息是哪些文件包含此字符串,也即已知字符串,欲求文件,也即从字符串到文件的映射。两者恰恰相反。于是如果索引总能够保存从字符串到文件的映射,则会大大提高搜索速度。
由于从字符串到文件的映射是文件到字符串映射的反向过程,于是保存这种信息的索引称为反向索引。
反向索引的所保存的信息一般如下:
假设我的文档集合里面有100篇文档(网页也可以看作是一篇文档),为了方便表示,我们为文档编号从1到100,得到下面的结构

左边保存的是一系列字符串,称为词典。
每个字符串都指向包含此字符串的文档(Document)链表,此文档链表称为倒排表(Posting List)。
有了索引,便使保存的信息和要搜索的信息一致,可以大大加快搜索的速度。
比如说,我们要寻找既包含字符串“lucene”又包含字符串“solr”的文档,我们只需要以下几步:
1. 取出包含字符串“lucene”的文档链表。
2. 取出包含字符串“solr”的文档链表。
3. 通过合并链表,找出既包含“lucene”又包含“solr”的文件。

看到这个地方,有人可能会说,全文检索的确加快了搜索的速度,但是多了索引的过程,两者加起来不一定比顺序扫描快多少。的确,加上索引的过程,全文检索不一定比顺序扫描快,尤其是在数据量小的时候更是如此。而对一个很大量的数据创建索引也是一个很慢的过程。
然而两者还是有区别的,顺序扫描是每次都要扫描,而创建索引的过程仅仅需要一次,以后便是一劳永逸的了,每次搜索,创建索引的过程不必经过,仅仅搜索创建好的索引就可以了。
这也是全文搜索相对于顺序扫描的优势之一:一次索引,多次使用。

当每次用户想要搜索相关的网页或文档信息时,我们都可以使用之前创建好的索引,快速的查询出相关信息。这就是搜索引擎能从海量数据中快速地为用户找到信息的诀窍了。

 

华南理工学子蜘蛛seo 技术支持QQ281432818