搜索引擎蜘蛛是如何爬行与抓取页面的

  • A+
所属分类:SEO搜索引擎优化

爬行抓取是搜索引擎工作的第一步,完成数据收集的任务。

搜索引擎蜘蛛是如何爬行与抓取页面的

1、什么是“蜘蛛”?

搜索引擎用来爬行和访问页面的程序被称为蜘蛛(spider)或者机器人(bot)。

搜索引擎蜘蛛访问网页内容时类似于普通用户使用的浏览器,蜘蛛程序发出页面访问请求后,服务器返回HTML代码,蜘蛛程序把收到的代码存入原始页面数据库中,搜索引擎为了提高爬行和抓取速度,都是用多个蜘蛛并发分布爬行。

蜘蛛访问任何一个网站时,都会先访问网站根目录下的robots.txt文件,如果robots.txt文件中有禁止搜索引擎抓取某些文件或目录,蜘蛛会遵守协议,不抓取被禁止的网址。

和浏览器一样,搜索引擎蜘蛛也有表明自己身份的用户代理名称,站长可以在日志文件中看到搜索引擎的特定用户代理,从而辨识搜索引擎蜘蛛。各蜘蛛名称,大家可以自行百度下。

2、跟踪链接

为了抓取网上尽可能多的页面,搜索引擎蜘蛛会跟踪页面上的链接,从一个页面爬行到下一个页面,就好像蜘蛛在蜘蛛网上爬行一样,这也就是搜索引擎蜘蛛这个词的由来。

整个互联网是由相互链接的网站及页面组成,理论上讲,蜘蛛可以从任何一个页面出发,顺着链接可以爬行到网上所有页面。由于网站及页面链接结构异常复杂,蜘蛛需要采取一定的爬行策略才能遍历网上所有的页面。

最简单的爬行遍历策略分为两种:一种是深度优先;一种是广度优先

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

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

理论上讲,无论是深度优先还是广度优先,只要给蜘蛛足够多的时间,都能爬完整个互联网。在实际工作中,蜘蛛的带宽资源、时间都不是无限的,也不可能爬完所有页面,实际上最大的搜索引擎也只是爬行和收录了互联网的一小部分。

深度优先和广度优先通常是混合使用的,这样既可以照顾到尽量多的网站(广度优先),也能照顾到一部分网站的内页(广度优先),同时也会考虑页面权重、网站规模、外联、更新等因素。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: