马海祥博客是一个专注于分享SEO优化、网站制作、网络营销和运营思维的自媒体博客!
马海祥博客 > SEO优化 > SEO研究院 > 搜索引擎蜘蛛的基本原理及工作流程

搜索引擎蜘蛛的基本原理及工作流程

时间:2014-09-09   文章来源:马海祥博客   访问次数:

搜索引擎用来爬行和访问页面的程序被称为蜘蛛(spider),也叫机器人(bot)。搜索引擎蜘蛛访问网站页面时类似于普通用户使用浏览器,蜘蛛程序发出页面访问请求后,服务器返回HTML代码,蜘蛛程序把收到的代码存入原始页面数据库,搜索引擎为了提高爬行和抓取的速度,都使用多个蜘蛛分布爬行。

搜索引擎蜘蛛的基本原理及工作流程-马海祥博客

蜘蛛访问网站时,首先会访问网站根目录下的robots.txt文件,如果robots.txt文件禁止搜索引擎抓取某些网页或者内容,再或者网站,蜘蛛将遵循协议,不对其进行抓取(具体可查看马海祥博客《robots协议文件的写法及语法属性解释》的相关介绍)。

蜘蛛也是有自己的代理名称的,在站长日志中可以看出蜘蛛爬行的痕迹,这也就是为什么这么多站长解答问题的时候,都会说先查看网站日志(作为一个出色的SEO你必须具备不借助任何软件查看网站日志的能力,并且要非常熟悉其代码的意思)。

一、搜索引擎蜘蛛的基本原理

搜索引擎蜘蛛即Spider,是一个很形象的名字,把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。

网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。

如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。

搜索引擎蜘蛛的基本原理及工作流程

对于搜索引擎来说,要抓取互联网上所有的网页几乎是不可能的,从目前公布的数据来看,容量最大的搜索引擎也不过是抓取了整个网页数量的百分之四十左右。

这其中的原因一方面是抓取技术的瓶颈,100亿网页的容量是100×2000G字节,即使能够存储,下载也存在问题(按照一台机器每秒下载20K计算,需要340台机器不停的下载一年时间,才能把所有网页下载完毕),同时,由于数据量太大,在提供搜索时也会有效率方面的影响。

因此,许多搜索引擎的网络蜘蛛只是抓取那些重要的网页(每个搜索引擎的蜘蛛抓取的原则也都不同,具体可对照一下马海祥博客的《解读IIS日志中搜索引擎蜘蛛名称代码及爬寻返回代码》相关介绍来查询一下你的网站日志),而在抓取的时候评价重要性主要的依据是某个网页的链接深度。

由于不可能抓取所有的网页,有些网络蜘蛛对一些不太重要的网站,设置了访问的层数,例如,下图中所示:

搜索引擎蜘蛛的基本原理及工作流程-马海祥博客

A为起始网页,属于0层,B、C、D、E、F属于第1 层,G、H属于第2层,I属于第3层,如果网络蜘蛛设置的访问层数为2的话,网页I是不会被访问到的,这也让有些网站上一部分网页能够在搜索引擎上搜索到,另外一部分不能被搜索到。

对于网站设计者来说,扁平化的网站结构设计有助于搜索引擎抓取其更多的网页。

网络蜘蛛在访问网站网页的时候,经常会遇到加密数据和网页权限的问题,有些网页是需要会员权限才能访问。

当然,网站的所有者可以通过协议让网络蜘蛛不去抓取,但对于一些出售报告的网站,他们希望搜索引擎能搜索到他们的报告,但又不能完全免费的让搜索者查看,这样就需要给网络蜘蛛提供相应的用户名和密码。

网络蜘蛛可以通过所给的权限对这些网页进行网页抓取,从而提供搜索,而当搜索者点击查看该网页的时候,同样需要搜索者提供相应的权限验证。

二、追踪链接

由于搜索引擎蜘蛛为了能够抓取网上尽量多的页面,它会追踪网页上的链接,从一个页面爬到下一个页面,就好像是蜘蛛在蜘蛛网上爬行那样,这就是搜索引擎蜘蛛这个名称的来因。

整个互联网网站都是相互链接组成的,也就是说,搜索引擎蜘蛛从任何一个页面出发最终都会爬完所有页面。

搜索引擎蜘蛛的基本原理及工作流程-马海祥博客

当然网站和页面链接结构太过于复杂,所以蜘蛛只有采用一定的方法才能够爬完所有页面,据马海祥了解最简单的爬行策略有3种:

1、最佳优先

最佳优先搜索策略按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取,它只访问经过网页分析算法预测为“有用”的网页。

存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种局部最优搜索算法,因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点,据马海祥博客的研究发现,这样的闭环调整可以将无关网页数量降低30%~90%。

2、深度优先

深度优先是指蜘蛛沿着发现的链接一直向前爬行,直到前面再也没有其他链接,然后返回到第一个页面,沿着另一个链接再一直往前爬行。

3、广度优先

广度优先是指蜘蛛在一个页面发现多个链接时,不是顺着一个链接一直向前,而是把页面上所有链接都爬一遍,然后再进入第二层页面沿着第二层上发现的链接爬向第三层页面。

从理论上说,无论是深度优先还是广度优先,只要给蜘蛛足够的时间,都能爬完整个互联网。

在实际工作中,蜘蛛的带宽资源、时间都不是无限的,也不能爬完所有页面,实际上最大的搜索引擎也只是爬行和收录了互联网的一小部分,当然也并不是搜索引擎蜘蛛爬取的越多越好,这点我曾在马海祥博客的《抓取网站的搜索引擎蜘蛛是不是越多越好》一文中跟大家做过详细的介绍。

因此,为了尽量多的抓取用户信息,深度优先和广度优先通常是混合使用的,这样既可以照顾到尽量多的网站,也能照顾到一部分网站的内页。

三、搜索引擎蜘蛛工作中的信息收集

信息收集模块包括“蜘蛛控制”和“网络蜘蛛”两部分,“蜘蛛”这个称呼形象的描述出了信息收集模块在网络数据形成的“Web”上进行信息获取的功能。

总体而言,网络蜘蛛从种子网页出发,通过反复下载网页并从文档中寻找未曾见过的URL,达到访问其他网页得以遍历Web的目的。

而其工作策略一般则可以分为累积式抓取(cumulative crawling)和增量式抓取(incremental crawling)两种。

1、累积式抓取

累积式抓取是指从某一个时间点开始,通过遍历的方式抓取系统所能允许存储和处理的所有网页。在理想的软硬件环境下,经过足够的运行时间,累积式抓取的策略可以保证抓取到相当规模的网页集合。

但在马海祥看来由于Web数据的动态特性,集合中网页的被抓取时间点是不同的,页面被更新的情况也不同,因此累积式抓取到的网页集合事实上并无法与真实环境中的网络数据保持一致。

2、增量式抓取

与累积式抓取不同,增量式抓取是指在具有一定量规模的网络页面集合的基础上,采用更新数据的方式选取已有集合中的过时网页进行抓取,以保证所抓取到的数据与真实网络数据足够接近。

进行增量式抓取的前提是,系统已经抓取了足够数量的网络页面,并具有这些页面被抓取的时间信息。面向实际应用环境的网络蜘蛛设计中,通常既包括累积式抓取,也包括增量式抓取的策略。

累积式抓取一般用于数据集合的整体建立或大规模更新阶段,而增量式抓取则主要针对数据集合的日常维护与即时更新。

在确定了抓取策略之后,如何从充分利用网络带宽,合理确定网页数据更新的时间点就成了网络蜘蛛运行策略中的核心问题。

总体而言,在合理利用软硬件资源进行针对网络数据的即时抓取方面,已经形成了相对比较成熟的技术和实用性解决方案,马海祥觉得在这方面目前所需解决的主要问题是如何更好的处理动态网络数据问题(如数量越来越庞大的Web2.0数据等),以及更好的根据网页质量修正抓取策略的问题。

四、数据库

为了避免重复爬行和抓取网址,搜索引擎会建立一个数据库,记录已被发现还没有抓取的页面和已经被抓取的页面,那么数据库中的URL是怎么来的呢?

1、人工录入种子网站

这个简单的来说,就是我们建好一个新站后,向百度、Google或360提交的网址收录。

2、蜘蛛抓取页面

如果搜索引擎蜘蛛在爬取的过程中,发现了新连接URL,数据库中没有,就会存入待访问数据库(网站观察期)。

蜘蛛按重要性从待访问数据库中提取URL,访问并抓取页面,然后把这个URL从待访问地址库中删除,放进已访问地址库中,所以马海祥建议各位站长在网站观察期的时候尽量有规律的更新网站是必要的。

3、站长提交网站

一般来说,提交网站只是把网站存入待访问数据库,如果网站持久不更新蜘蛛也不会光顾,搜索引擎收录的页面都是蜘蛛自己追踪链接得到的。

所以你提交给搜索引擎其实用处不大,还是要根据后期你网站更新程度来考虑,搜索引擎更喜欢自己沿着链接发现新页面,当然如果说你的SEO技术够老练,并且有这能力,可以试一下,说不定会有意想不到的效果,不过,对于一般在站长来说,马海祥还是建议让蜘蛛自然的爬行和抓取到新站页面。

五、吸引蜘蛛

虽然理论上说蜘蛛可以爬行和抓取所有页面,但实际上是不可能完成的,那么SEO人员想要收录更多的页面就只有想办法引诱蜘蛛抓取。

既然抓不了所有页面,那么我们就要让它抓取重要页面,因为重要页面在索引中起到重要决定,直接影响排名的因素,哪么那些页面算是比较重要的呢?对此,马海祥也特意整理了以下几个我认为比较重要页面,具体有这么几个特点:

1、网站和页面权重

质量高、年龄老的网站被给予很高的权重,这种网站上的页面蜘蛛爬行的深度比较高,所以会有更多的内页被收录。

2、页面更新度

蜘蛛每次爬行都会把页面数据储存起来,如果第二次爬行时发现此页面与第一次收录的内容完全一样,说明页面没有更新,蜘蛛也没必要经常再来爬行和抓取。

如果页面内容经常更新,蜘蛛就会频繁的爬行和抓取,那么,页面上的新链接自然的会被蜘蛛更快的追踪和抓取,这也就是为什么需要每天更新文章(具体可查看马海祥博客的《百度收录网站文章的现状及原则依据》相关介绍)。

3、导入链接

无论是外部链接还是同一个网站的内部链接,要被蜘蛛抓取,就必须有导入链接进入页面,否则蜘蛛根本不知道页面的存在。此时的URL链接起着非常重要的作用,内链的重要性发挥出来了。

另外,马海祥觉得高质量的导入链接也经常使页面上的导出链接被爬行的深度增加。

这也就是为什么大多数站长或SEO都要高质量友情链接,因为蜘蛛从对方网站爬行到你网站之次数多,深度也高。

4、与首页点击距离

一般来说网站首页权重最高,大部分外部链接都指向首页,蜘蛛访问最频繁的也是首页,离首页点击距离越近,页面权重越高,被蜘蛛爬行的机会也就越大。

这也就是为什么要求网站框架建设点击三次就能查看完整个网站的意思。

六、蜘蛛爬行时的复制内容检测

一般都知道在搜索引擎索引环节中中会进行去重处理,其实在蜘蛛爬行的时候已经在进行检测,当蜘蛛爬行和抓取文件时会进行一定程度的复制内容检测,遇到权重低的网站上大量转载或抄袭内容时,很可能不再继续爬行。

所以对于新站来说切莫采集和抄袭,这也就是为什么很多站长查看日志的时候发现了蜘蛛,但是页面从来没有被抓取的原因,因为爬行发现是重复内容那么它讲放弃抓取也就只停留在爬行过的阶段。

马海祥博客点评:

虽说蜘蛛的作用就是让搜索引擎对有效链接进行搜寻,但并不意味着蜘蛛越多越好,有时过多的蜘蛛来网站抓取会造成一定的负面效果,会影响服务器的运行,导致网页打开缓慢。

本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于https://www.mahaixiang.cn/seoyjy/797.html,注明出处;否则,禁止转载;谢谢配合!

相关标签搜索: 搜索引擎   搜索引擎蜘蛛   基本原理   工作流程  

上一篇:深度解读百度搜索引擎网页质量白皮书
下一篇:锚文本链接是什么?

您可能还会对以下这些文章感兴趣!

  • 百度索引量下降的原因及解决方法

    作为一名专业的SEO人员,我们很多的时候都在研究站点中有多少页面可以作为搜索候选结果,也就是一个网站的索引量,所谓网站索引量,就是搜索引擎抓取你网站的数量,这能影响到网站收录率,是一个非常重要的SEO因素,索引量是流量的基础,索引量数据的每一个变动都拨动着……【查看全文

    阅读:5771关键词: 百度索引量   百度   索引量   百度索引   日期:2015-05-21
  • Google搜索质量小组专业解答的25个SEO问题

    2013年对于众多站长和SEO可以说是最为波折的一年,这一年百度出台了百度绿萝算法、百度石榴算法和百度绿萝算法2.0,而google也相继出台了谷歌EMD算法、熊猫算法、企鹅算法2.0和蜂鸟算法。作为一个站长或SEOer,你是否对这些算法还存在很多的疑惑,尤其对于靠做外贸产品……【查看全文

    阅读:692关键词: Google   Google搜索   搜索质量   解答SEO问题   SEO问题   日期:2013-11-22
  • 百度快照更新是什么意思?

    最近发现有很多刚入SEO行业的新手对网站seo的技巧有很多的误区,比如网站快照不更新就代表网站被惩罚。关于这个观点我们先看看什么是百度快照,百度快照的作用是什么?我们有该如何让百度快照持续更新呢?快照即为Web Cache,可以翻译为网页缓存,当搜索引擎派出蜘蛛去对网站……【查看全文

    阅读:9777关键词: 百度快照   百度快照更新   快照更新   日期:2014-03-17
  • SEO链轮是什么?

    SEO链轮(SEO Link Wheels)是从国外引入国内的,一种比较新颖的SEO策略,是一种比较先进的网络营销方式。SEO链轮是指通过在互联网上建立大量的独立站点或是在各大门户网站上开设博客,这些独立站点或是博客群通过单向的、有策略、有计划紧密的链接,并都指向要优化的目标……【查看全文

    阅读:1139关键词: seo   seo链轮   日期:2016-02-24
  • 网站最新SEO优化公式解析

    网站seo优化公式 SEO=Clock=C1+L2+K3+O4 1、是一个积分符号,C=content,L=link,K=keywords,O=others。SEO就是一个长期的对时间积分过程,内容是核心; 2、C1丰富的内容是第一位的要素,按照原创、伪原创、转载依次排列内容的重要性满足用户体验; 3、L2链接的合理与……【查看全文

    阅读:2119关键词: seo   seo优化公式   网站seo   网站优化   seo公式   日期:2012-08-06
  • 百度排名算法规则及SEO优化要点总结

    做SEO目的其实就是为访客服务,满足用户的需求,想方设法的为了用户提供他们想要看的内容,而不是一味的最求最大利益化,其实百度只是一个展示的平台,只要你有了用户的青睐,你想达到的目标,自然也就水到渠成了,做SEO的核心就是要挖掘用户的力量,只有挖掘用户的力量……【查看全文

    阅读:3006关键词: 百度   百度排名   百度算法   seo优化   日期:2015-12-31
  • 揭秘搜索引擎中的反SEO作弊研究

    从搜索引擎优化服务开始,分析了现在所存在的搜索引擎优化的作弊手段;然后提出了四种方法用来预防、破解作弊,并结合现实总结提出逐级分层审查刮度;最后结合Google搜索引擎,讨论并分析了Google搜索引擎的反作弊方法及其中的PR值算法……【查看全文

    阅读:687关键词: 搜索引擎   反SEO作弊   SEO研究   日期:2012-10-15
  • 基于用户投票的六大排名算法研究

    随着互联网的发展,网站的数量也在随着成倍的增加着,就中国的互联网来说,根据中国互联网信息中心的数据显示,目前中国的网站数量每半年都会以接近10%的数量增长。这些大量的网站涌现,也就意味着我们已进入了信息大爆炸的时代。 而如今用户担心的已不再是信息太少,而……【查看全文

    阅读:4660关键词: 用户投票   排名算法研究   排名算法   用户投票算法   日期:2013-12-28
  • 如何分析网站是否真的被降权惩罚及解决方法

    对于混迹于国内站长圈的朋友来说,每天起早贪黑发外链的网站被百度惩罚似乎在这几年已经是司空见惯的事了,所以很多时候网站流量、排名或者是收录有小幅度波动时,站长都会认为网站又被惩罚了,有到处的去抱怨。其实,很多情况都只是站长自己太过于敏感了而已,网站被百……【查看全文

    阅读:2958关键词: 网站分析   网站被惩罚   网站降权   日期:2014-04-24
  • 落地页体验白皮书5.0解读:如何合理设置展开全文功能

    本文解读文章深度剖析展开全文功能的设置要求。白皮书5.0提到”展开全文的设置必须具有文字标示,且功能实际可用;展开全文功能最多只能出现一次,但不可出现在落地页的首屏内容中(列表页除外);展开全文与广告等引导性内容要设置一定距离间隔,避免干扰用户操作。”如何设置展开全文按钮才更符合用户的体验习惯呢?这篇文章将为你答疑解惑。百度搜索用户研究团队的用户调研发现,搜索用户进入落地页的诉求是浏览页面全部内容,展开……【查看全文

    阅读:115关键词: 落地页   白皮书   展开功能   日期:2020-04-19
  • linux系统或windows+iis系统设置404页面方法

    404页面通常是为用户访问了网站上不存在或已删除的页面,服务器返回404错误页面,告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开,消除用户的疑虑。网站设置404页面后,如果网站出现死链接,搜索引擎蜘蛛爬行这类网址……【查看全文

    阅读:169关键词: 404   linux   系统   window   iis   404页面   日期:2018-11-22
  • 反向链接是什么意思

    反向链接又叫导入链接(Backlinks),外部链接,是指外部网站有你的网址指向你的网站,其实就是在目标文档(网页)内部进行声明,要求目标文档指向自己(网页)的链接,通俗点讲,网页A上有一个链接指向网页B,则网页A上的链接是网页B的反向链接,换言之,常规链接在文……【查看全文

    阅读:2048关键词: 反向链接   日期:2012-08-14
  • 搜索引擎判定相似文章网页的原理

    余弦相似性是指通过测量两个向量内积空间的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是 -1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值……【查看全文

    阅读:1384关键词: 搜索引擎   判定相似文章   相似文章原理   文章判定原理   日期:2013-10-13
  • 404 Not Found错误页面的解决方法和注意事项

    404页面就是当用户访问某网站时,点击了错误的链接时,所返回的页面。最常见的出错提示:404 Not Found。其目的就是告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。错误页面的文字可以自定义,有些网站没有设置404错误页面,或……【查看全文

    阅读:96618关键词: 404页面   404错误   404   日期:2014-02-16
  • 网站SEO优化的分析诊断报告包含了哪些内容

    SEO优化是针对搜索引擎规则做出优化以提高网站排名为目的的优化手段。其所需时间往往是长久性的,包括从网站域名、服务器、程序选取、网站结构、行业分析、竞争分析而切入的优化过程。而SEO诊断,在时间的要求上恰与其截然相反,所求目的完全与优化过程一致:提高网站友……【查看全文

    阅读:7211关键词: 网站seo   seo优化   seo分析   seo诊断   seo报告   seo   日期:2014-09-15
  • 百度移动搜索落地页体验白皮书4.0全文解读

    进入移动互联网时代,百度搜索致力于提升搜索用户的浏览体验,营造健康的搜索生态。过去一年中,在百度搜索和全网资源提供者的共同努力下,移动搜索落地页广告问题已经得到了明显的改善。现在,百度搜索发布《百度移动搜索落地页体验白皮书4.0》,旨在继续与各内容生产……【查看全文

    阅读:153关键词: 移动搜索   落地页   白皮书   日期:2018-08-15
  • 2011-2012年百度历次大更新数据分析

    本篇文章记录了百度从2011年到2012年中旬百度大更新记录的文章。以下数据分析以站长之家官方提供的网站监控分析数据为蓝本,结合优词网等站点观察数据和一些 优秀SEO站长工具和软件的收集,并佐以自己手上二十几个站点作参考进行综合分析,基于统计学分析原理,以大量站……【查看全文

    阅读:636关键词: 百度大更新   数据分析   日期:2012-08-09
  • 《百度搜索优质内容指南》全文解读

    今日,《百度搜索优质内容指南》在百度搜索学院悄悄地上线了,这是百度近两年,再次重新深度定义什么是百度搜索优质内容,对于SEO人员而言,特别是对于新站长而言,具有非常积极的指导意义,以免造成过多的资源浪费,给予了明确的指导规范的建议。百度搜索2020年全新发布了面向全网内容生产者的《百度搜索优质内容指南》,详细讲述了优质内容的标准,希望给广大内容生产者在生产优质内容时提供参考。关于优质内容的详细标准,请查看以下……【查看全文

    阅读:345关键词: 百度搜索   优质内容   百度指南   日期:2020-04-01
  • 百度最新调整后的算法规则

    最近闹得沸沸扬扬的百度6.22和6.28的K站事件到目前已经告一段落了,K站的主要原因已经渐渐明朗,以及百度将会对哪些类型的网站会做降权处理,现在也已经明朗化。针对各大站长漫长的着急等待,以及愤恨的心情,百度目前已经给出了较为明确的答案,那么百度规则和算法调整……【查看全文

    阅读:1586关键词: 百度最新算法   百度算法规则   百度最新调整   日期:2012-08-17
  • 落地页体验白皮书5.0解读:什么样的顶部嵌入广告符合体验标准

    《百度APP移动搜索落地页体验白皮书5.0》对页面广告的内容、形式、位置和面积的要求都做出了详细的说明,受到了全网开发者的广泛关注。关于白皮书5.0中最新提出的顶部嵌入广告标准”落地页首屏顶部允许嵌入不超过一屏面积10%的优质广告”,不少开发者对此提出疑问和反馈,本篇文章将对顶部嵌入优质广告要求做出具体解读:落地页首屏顶部允许嵌入优质广告的总体要求如下:面积:顶部嵌入广告面积必须小于首屏面积的10%。标识:广告位上有明……【查看全文

    阅读:89关键词: 落地页   白皮书   广告   广告标准   日期:2020-04-17
↓ 点击查看更多 ↓

互联网更多>>

SEO优化 更多>>

百度冰桶算法4.5:发力打击Landing Page恶劣广告 如何通过IIS日志分析网站的隐形信息