seo站内爬虫协议:什么样Robots协议才是好爬虫

   seo站内爬虫协议:什么样Robots协议才是好爬虫

  Robots协议的定义:

  Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。网站管理员可以在网站域名的根目录下放一个robots.txt 文本文件,里面可以指定不同的网络爬虫能访问的页面和禁止访问的页面,指定的页面由正则表达式表示。网络爬虫在采集这个网站之前,首先获取到这个文件,然后解析到其中的规则,然后根据规则来采集网站的数据。

seo站内爬虫协议

  为什么需要Robots协议:

  互联网上的网页是通过超级链接互相关联起来的,从而形成了网页的网状结构。爬虫的工作方式就像蜘蛛在网上沿着链接爬来爬去,最基本的流程可以简化如下:

  喂给爬虫一堆url,我们称之为种子(seeds);

  爬虫抓取seeds,解析html网页,抽取其中的超级链接;

  爬虫接着抓取这些新发现的链接指向的网页。

  步骤2和步骤3循环往复。

  了解了上面的流程就能发现:对爬虫来说网站非常被动,只有老老实实被抓取的份。

  所以,对于网站的管理者来说,就存在这样的需求:

  某些路径下是个人隐私或者网站管理使用,不想被搜索引擎抓取,比如说日本爱情动作片;

  不喜欢某个搜索引擎,不愿意被他抓取,最有名的就是之前淘宝不希望被百度抓取;

  小网站使用的是公用的虚拟主机,流量有限或者需要付费,希望搜索引擎抓的温柔点;

  某些网页是动态生成的,没有直接的链接指向,但是希望内容被搜索引擎抓取和索引。

  网站内容的所有者是网站管理员,搜索引擎应该尊重所有者的意愿,为了满足以上等等,就需要提供一种网站和爬虫进行沟通的途径,给网站管理员表达自己意愿的机会。有需求就有供应,robots协议就此诞生。

  Robots协议的写法:

  既然网络爬虫在爬取一个网站之前,要先获取到这个文件,然后解析到其中的规则,那么,Robots就必须要有一套通用的语法规则。

  最简单的robots.txt只有两条规则:

  User-agent:指定对哪些爬虫生效

  Disallow:指定要屏蔽的网址

  先说User-agent,爬虫抓取时会声明自己的身份,这就是User-agent,没错,就是http协议里的User-agent。robots.txt利用User-agent来区分各个引擎的爬虫,比如说google网页搜索爬虫的User-agent为Googlebot。

  可能有读者要问了,我怎么知道爬虫的User-agent是什么?你还可以查相关搜索引擎的资料得到官方的数据,比如说百度的爬虫列表是这样的:

  Disallow 行列出的是要拦截的网页,以正斜线 (/) 开头,可以列出特定的网址或模式。要屏蔽整个网站,使用正斜线即可;要屏蔽某一目录以及其中的所有内容,在目录名后添加正斜线;要屏蔽某个具体的网页,就指出这个网页。

  下面我们来看一些Robots的具体写法:

  允许所有的robot访问

  User-agent: *

  Disallow:

  或者也可以建一个空文件 “/robots.txt” file。

  禁止爬虫访问所有目录

  User-agent: *

  Disallow: /

  禁止爬虫访问某些目录

  User-agent: *

  Disallow: /a/

  Disallow: /b/

  Disallow: /c/

  禁止某些爬虫访问

  User-agent: BadBot

  Disallow: /

  只允许某个爬虫访问

  User-agent: MangCrawler

  Disallow:

  User-agent: *

  Disallow: /

  sitemap

  前面说过爬虫会通过网页内部的链接发现新的网页。但是如果没有连接指向的网页怎么办?或者用户输入条件生成的动态网页怎么办?能否让网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页?这就是sitemap,最简单的 Sitepmap 形式就是 XML 文件,在其中列出网站中的网址以及关于每个网址的其他数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度等等),利用这些信息搜索引擎可以更加智能地抓取网站内容。

  新的问题来了,爬虫怎么知道这个网站有没有提供sitemap文件,或者说网站管理员生成了sitemap,(可能是多个文件),爬虫怎么知道放在哪里呢?

  由于robots.txt的位置是固定的,于是大家就想到了把sitemap的位置信息放在robots.txt里。这就成为robots.txt里的新成员了。

未经允许不得转载:「佛山SEO」 »  seo站内爬虫协议:什么样Robots协议才是好爬虫

赞 (1) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏