一起学习网,一个一起免费的网络建站教程资源共享和seo教程、黑帽教程学习交流的学习网站,www.17xuexiwang.com,一起学习,共同进步!

搜索引擎蜘蛛程序抓取原理是什么

时间:2017-09-23 11:33   文章来源:一起学习网   访问次数:

  记得刚做SEO的时候,半道出家,并不是很懂搜索引擎的抓取过程和原理,慢慢的也研究了一下,这边简单的做一个小结,希望对大家有用。之前写过一篇《浅谈百度搜索引擎及其基本原理》,大家有时间可以参考一下。这篇是针对搜索引擎的,搜索引擎不像我们人类,去选取一些信息的时候不能自己去看,去筛选,它用来爬行和访问页面的程序被称为蜘蛛(spider),这个是比较的形象的,有的也叫机器人(bot)。搜索引擎蜘蛛访问网站页面时类似于普通用户使用浏览器,蜘蛛程序发出页面访问请求后,服务器返回HTML代码,蜘蛛程序把收到的代码存入原始页面数据库,搜索引擎为了提高爬行和抓取的速度,都使用多个蜘蛛分布爬行。

  那么当一个蜘蛛访问网站的时候是怎么进门,怎么走的呢,我们之前做SEO的时候,新网站上线之后都会做一个robots文件,之所以要设置这个文件是因为蜘蛛首先会访问网站根目录下的robots.txt文件,如果robots.txt文件禁止搜索引擎抓取某些网页或者内容,再或者网站,蜘蛛将遵循协议,不对其进行抓取。

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

  好了,下面一起来看下搜索引擎蜘蛛程序具体的抓取原理和工作流程。

  一、搜索引擎蜘蛛抓取和工作的基本原理

  前面说把搜索引擎称为蜘蛛很形象,因为互联网就像一张很大的一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。

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

  因为互联网的网站很多,因此蜘蛛需要有自己的抓取方法,这个可以简单的用下图来表示,如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。

  

搜索引擎蜘蛛抓取流程

 

  整个互联网中的站点太多,对于任何一个搜索引擎来说,都没有足够大的力量去抓取互联网上所有的网页,这个没有具体的数字,但是从目前公布的数据来看,容量最大的搜索引擎也不过是抓取了整个网页数量的百分之四十左右。

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

  面对这个瓶颈,肯定需要有一个侧重或者解决方法,许多搜索引擎的网络蜘蛛只是抓取那些重要的网页,而在抓取的时候评价重要性主要的依据是某个网页的链接深度。

  为了节约更多的抓取占用资源,有些网络蜘蛛对一些不太重要的网站,设置了访问的层数,例如,下图中所示:

  

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

 

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

  很多在做SEO的同学一定也都知道,网站最好是面平化设计,目录的层数越浅越好,就是为了搜索引擎抓取其更多的网页。

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

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

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

  二、蜘蛛的追踪链接原理

  因为每一个网站都有一个主入口,网站的首页,但是搜索引擎蜘蛛必须要能够抓取网上尽量多的页面,才能展现网络的强大力量,所以蜘蛛会追踪网页上的链接,从一个页面爬到下一个页面,就好像是蜘蛛在蜘蛛网上爬行那样,这就是搜索引擎蜘蛛这个名称的来因,这也是我们为什么需要在网站做内链外链一样。

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

  

蜘蛛的追踪链接原理

 

  所以根据蜘蛛的追踪原理,网站尽量链接结构做的清晰并且有序,如果一个网站和页面链接结构太过于复杂,蜘蛛只有采用一定的方法和策略才能够爬完所有页面,最简单的爬行策略有3种:

  爬行策略一、最佳优先

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

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

  爬行策略二、深度优先

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

  爬行策略三、广度优先

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

  搜索引擎蜘蛛也希望能够抓取一个网站所有的链接,事实上,无论是深度优先还是广度优先,只要给蜘蛛足够的时间,都能爬完整个互联网。

  但是在蜘蛛抓取的时候,由于蜘蛛的带宽资源、时间都不是无限的,也不能爬完所有页面,实际上最大的搜索引擎也只是爬行和收录了互联网的一小部分,当然也并不是搜索引擎蜘蛛爬取的越多越好。

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

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

  搜索引擎抓取就是为了搜集和收录信息,抓取只是一个过程,而信息收集才是目的,蜘蛛信息收集模块包括“蜘蛛控制”和“网络蜘蛛”两部分,“蜘蛛”这个称呼形象的描述出了信息收集模块在网络数据形成的“Web”上进行信息获取的功能。

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

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

  1、累积式抓取

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

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

  2、增量式抓取

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

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

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

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

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

  四、搜索引擎的数据库

  就像一个网站的数据库一样,数据库就是为了存储数据,但是搜索引擎的数据库和普通的数据库的作用又不太一样,其目的是为了避免重复爬行和抓取网址,所以搜索引擎会建立一个数据库,记录已被发现还没有抓取的页面和已经被抓取的页面,那么数据库中的URL是怎么来的呢?

  1、人工提交,人工录入网站

  这就是我们做好一个网站之后会提交到各大搜索引擎,这个简单的来说,就是我们建好一个新站后,向百度、Google或360提交的网址收录。

  2、蜘蛛主动抓取页面

  因为互联网就是一张大网,每天都有很多未知的网站,如果搜索引擎蜘蛛在爬取的过程中,发现了新连接URL,数据库中没有,就会存入待访问数据库(网站观察期)。

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

  3、站长提交网站

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

  这就是为什么网站强调更新,就像一个人一样,每天需要饮食,产生新鲜的血液,你提交给搜索引擎其实用处不大,还是要根据后期你网站更新程度来考虑,搜索引擎更喜欢自己沿着链接发现新页面,当然如果说你的SEO技术够老练,并且有这能力,可以试一下,说不定会有意想不到的效果,不过,对于一般在站长来说,还是建议让蜘蛛自然的爬行和抓取到新站页面。

  五、如何吸引蜘蛛

  通过上面的原理我们都知道了,蜘蛛在理论上说蜘蛛可以爬行和抓取所有页面,但是由于有瓶颈,实际上是不可能完成的,那么SEO人员想要收录更多的页面就只有想办法引诱蜘蛛抓取。

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

  认为比较重要页面一:网站和页面权重

  域名年龄对于一个网站的起步确实是有影响的,质量高、年龄老的网站被给予很高的权重,这种网站上的页面蜘蛛爬行的深度比较高,所以会有更多的内页被收录。

网站页面权重

  认为比较重要页面二:页面更新频率

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

  蜘蛛为了节省本身的资源,不去浪费过多资源,如果页面内容经常更新,蜘蛛就会频繁的爬行和抓取,那么,页面上的新链接自然的会被蜘蛛更快的追踪和抓取,这也就是为什么需要每天更新文章。

  认为比较重要页面三:导入的链接

  前面也说了,蜘蛛是靠链接爬去整个网站的,无论是外部链接还是同一个网站的内部链接,要被蜘蛛抓取,就必须有导入链接进入页面,否则蜘蛛根本不知道页面的存在。此时的URL链接起着非常重要的作用,内链的重要性发挥出来了。并且,高质量的导入链接也经常使页面上的导出链接被爬行的深度增加。

  搜索引擎的算法在更新,垃圾的链接已经没有作用了,相反,高质量的链接对于网站有很大的意义。这也就是为什么大多数站长或SEO都要高质量友情链接,因为蜘蛛从对方网站爬行到你网站之次数多,深度也高。

  认为比较重要页面四:与首页点击距离

  对于一个网站来说,页面的权重是不一样的,首页的权重最高,大部分外部链接都指向首页,蜘蛛访问最频繁的也是首页,离首页点击距离越近,页面权重越高,被蜘蛛爬行的机会也就越大。这也就是为什么要求网站框架建设点击三次就能查看完整个网站的意思。

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

  从用户的体验度上来考虑,搜索引擎不喜欢重复度过高,这个可以参考《常见的网络SEO的误区有哪些》中的第三点,在搜索引擎索引环节中,蜘蛛会进行去重处理,其实在蜘蛛爬行的时候已经在进行检测,当蜘蛛爬行和抓取文件时会进行一定程度的复制内容检测,遇到权重低的网站上大量转载或抄袭内容时,很可能不再继续爬行。

  有很多人做好网站之后,就开始大量的采集文章,成千上万的文章,都是重复度很高的,这样会发现搜索引擎一直不收录,原因就在这,所以对于新站来说切莫采集和抄袭,这也就是为什么很多站长查看日志的时候发现了蜘蛛,但是页面从来没有被抓取的原因,因为爬行发现是重复内容那么它讲放弃抓取也就只停留在爬行过的阶段。

  最后补充一点,有时很多网站是设置禁止一些垃圾蜘蛛去爬的,是因为虽说蜘蛛的作用就是让搜索引擎对有效链接进行搜寻,但并不意味着蜘蛛越多越好,有时过多的蜘蛛来网站抓取会造成一定的负面效果,会影响服务器的运行,导致网页打开缓慢。所以可以针对性的让你需要的搜索引擎蜘蛛去爬去你的页面。

上一篇:网络优化的几个重要准则分析
下一篇:网站如何做好用户体验度

标签:

今日话题更多>

  • 武汉大学信息门户是什么 武汉大学信息门户是什么 武汉大学信息门户是武汉大学官方网站的入口,它为武汉大学师生员工提供信息服务和网络应用入口。信息门户网址为:ehall.whu.edu.cn。 信息门户包含以下主要功能: 1. 统一身份……
  • 壹米滴答物流单号查询方法 壹米滴答物流单号查询方法 壹米滴答物流单号查询可通过以下方式进行: 1. 登录壹米滴答官网 登录www.yimidida.com网址,点击页面右上角的登录按钮,输入用户名和密码进行登录。登录成功后,在用户中心可……
  • 壹米滴答物流是什么平台 壹米滴答物流是什么平台 壹米滴答是一家中国国际物流快递公司,提供国内外物流配送服务。 1. 公司简介 壹米滴答成立于2013年,由深圳市壹米滴答供应链管理有限公司运营。现已开通200多个国家和地区的……

黑帽学习 更多 >>