• 护栏钢管“刺穿”男子身体 消防官兵手术台协助救援 2019-07-18
  • 安徽通报2018年上半年全省旅游投诉情况 2019-07-18
  • 山西省直机关第五届职工运动会开幕 2019-07-16
  • 陕西省贫困村驻村工作队选派管理办法出台 2019-06-29
  • 阳泉计划今年在全省率先整体脱贫 2019-06-29
  • 新媒体会馆第十三期:自然灾害时期的网络谣言应对与正向传播研讨会 2019-06-14
  • 出境游代购?先了解海关税那些事 2019-06-14
  • 银保监会:4家险企偿付能力不达标 2019-06-12
  • 机场周边严查违规网约车 2019-06-10
  • 香港航空得罪赌王儿子 社交媒体究竟该在舆情管理中扮演什么角色? 2019-05-29
  • 科学家教人工智能诊断脑癌 2019-05-29
  • 晋世绘——黄河新闻网 2019-05-06
  • 什么是阶级?阶级是不同经济地位和政治地位所构成的等级差别(原创首发) 2019-05-04
  • 看改革开放40年:交通篇——从双腿丈量到抬脚上车 2019-05-02
  • 2018陕西高考数学试题分析:注重基础知识 突出思维能力 2019-05-02
  • 新型SEO思维就是从一个全新的层次上提升seo优化的水平,达到网络信息最佳化的展示效果!
    山西十一选五遗漏号 > SEO优化 > SEO研究院 > robots协议文件的写法及语法属性解释

    山西十一选五top10遗漏:robots协议文件的写法及语法属性解释

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

    山西十一选五遗漏号 www.6am8.com 当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令?;さ囊趁?。

    一、什么是Robots协议

    Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

    robots是一个协议,而不是一个命令。robots.txt文件是一个文本文件,是放置在网站根目录下,使用任何一个常见的文本编辑器,就可以创建和编辑它。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件,其主要的作用就是告诉蜘蛛程序在服务器上什么文件是可以被查看的。

    robots协议文件的写法及语法属性解释-马海祥博客

    如果将网站视为一个房间,robots.txt就是主人在房间门口悬挂的“请勿打扰”或“欢迎进入”的提示牌。这个文件告诉来访的搜索引擎哪些房间可以进入和参观,哪些房间因为存放贵重物品,或可能涉及住户及访客的隐私而不对搜索引擎开放。但robots.txt不是命令,也不是防火墙,如同守门人无法阻止窃贼等恶意闯入者。

    所以,马海祥建议各位站长仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件,如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。

    二、Robots协议的原则

    Robots协议是国际互联网界通行的道德规范,基于以下原则建立:

    1、搜索技术应服务于人类,同时尊重信息提供者的意愿,并维护其隐私权;

    2、网站有义务?;て涫褂谜叩母鋈诵畔⒑鸵讲槐磺址?。

    robots协议文件的写法及语法属性解释-马海祥博客

    三、Robots协议的写法

    robots.txt放到一个站点的根目录下即可,一个robots.txt只能控制相同协议,相同端口,相同站点的网页抓取策略。

    1、robots.txt的常规写法

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

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

    Disallow:指定要屏蔽的网址

    整个文件分为x节,一节由y个User-agent行和z个Disallow行组成。一节就表示对User-agent行指定的y个爬虫屏蔽z个网址。这里x>=0,y>0,z>0。x=0时即表示空文件,空文件等同于没有robots.txt。

    下面详细介绍这两条规则:

    (1)、User-agent

    爬虫抓取时会声明自己的身份,这就是User-agent,没错,就是http协议里的User-agent,robots.txt利用User-agent来区分各个引擎的爬虫。

    举例说明:google网页搜索爬虫的User-agent为Googlebot,下面这行就指定google的爬虫。

    User-agent:Googlebot

    如果想指定所有的爬虫怎么办?不可能穷举啊,可以用下面这一行:

    User-agent: *

    可能有的同学要问了,我怎么知道爬虫的User-agent是什么?这里提供了一个简单的列表:爬虫列表

    当然,你还可以查相关搜索引擎的资料得到官方的数据,比如说google爬虫列表,百度爬虫列表

    (2)、Disallow

    Disallow行列出的是要拦截的网页,以正斜线 (/) 开头,可以列出特定的网址或模式。

    要屏蔽整个网站,使用正斜线即可,如下所示:

    Disallow: /

    要屏蔽某一目录以及其中的所有内容,在目录名后添加正斜线,如下所示:

    Disallow: /无用目录名/

    要屏蔽某个具体的网页,就指出这个网页,如下所示:

    Disallow: /网页.html

    举例:

    User-agent: baiduspider
      Disallow: /
      User-agent: Googlebot
      Disallow: /

    马海祥博客解释:意思也就是禁止百度蜘蛛和Google蜘蛛抓取所有文章

    2、robots.txt的高级写法

    首先声明:高级玩法不是所有引擎的爬虫都支持,一般来说,作为搜索引擎技术领导者的谷歌支持的最好。

    (1)、allow

    如果需要屏蔽seo1-seo100,但是不屏蔽seo50,那我们该怎么办呢?

    方案1:

    Disallow:/seo1/
      Disallow:/seo2/
      ...
      Disallow:/seo49/
      Disallow:/seo51/
      ...
      Disallow:/seo100/

    方案2:

    Disallow:/seo
      Allow:/seo50/

    对比以上2个方案,大家应该知道allow的用法了吧,如果你网站目前也有这个需求的话,马海祥建议你可以使用方案2来解决。

    但如果想屏蔽seo50下面的文件seo.htm,又该怎么办呢?

    Disallow:/seo
      Allow:/seo50/
      Disallow:/seo50/seo.html

    聪明的你一定能发现其中的规律,对吧?谁管的越细就听谁的。

    (2)、sitemap

    前面说过爬虫会通过网页内部的链接发现新的网页,但是如果没有连接指向的网页怎么办?或者用户输入条件生成的动态网页怎么办?能否让网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页?这就是sitemap。

    最简单的Sitepmap形式就是XML文件,在其中列出网站中的网址以及关于每个网址的其他数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度等等),利用这些信息搜索引擎可以更加智能地抓取网站内容。

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

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

    Sitemap: //www.6am8.com/sitemap.html

    考虑到一个网站的网页众多,sitemap人工维护不太靠谱,对此,马海祥建议你可以使用google提供了工具可以自动生成sitemap。

    (3)、meta tag

    其实严格来说这部分内容不属于robots.txt,不过也算非常相关,我也不知道放哪里合适,暂且放到这里吧。

    robots.txt的初衷是为了让网站管理员管理可以出现在搜索引擎里的网站内容。但是,即使使用robots.txt文件让爬虫无法抓取这些内容,搜索引擎也可以通过其他方式找到这些网页并将它添加到索引中。

    例如,其他网站仍可能链接到该网站,因此,网页网址及其他公开的信息(如指向相关网站的链接中的定位文字或开放式目录管理系统中的标题)有可能会出现在引擎的搜索结果中,如果想彻底对搜索引擎隐身那咋整呢?马海祥给你的答案是:元标记,即meta tag。

    比如要完全阻止一个网页的内容列在搜索引擎索引中(即使有其他网站链接到此网页),可使用noindex元标记。只要搜索引擎查看该网页,便会看到noindex元标记并阻止该网页显示在索引中,这里注意noindex元标记提供的是一种逐页控制对网站的访问的方式。

    比如:要防止所有搜索引擎将网站中的网页编入索引,那你就可以在网页的头部代码部分添加:

    <meta name="robots" content="noindex">

    这里的name取值可以设置为某个搜索引擎的User-agent从而指定屏蔽某一个搜索引擎。

    除了noindex外,还有其他元标记,比如说nofollow,禁止爬虫从此页面中跟踪链接。这里马海祥再提一句:noindex和nofollow在HTML 4.01规范里有描述,但是其他tag的在不同引擎支持到什么程度各不相同,还请读者自行查阅各个引擎的说明文档。

    (4)、Crawl-delay

    除了控制哪些可以抓哪些不能抓之外,robots.txt还可以用来控制爬虫抓取的速率。如何做到的呢?通过设置爬虫在两次抓取之间等待的秒数。

    Crawl-delay:5

    表示本次抓取后下一次抓取前需要等待5秒。

    马海祥博客提醒大家一点:google已经不支持这种方式了,不过在webmaster tools里提供了一个功能可以更直观的控制抓取速率。

    这里插一句题外话,几年前马海祥记得曾经有一段时间robots.txt还支持复杂的参数:Visit-time,只有在visit-time指定的时间段里,爬虫才可以访问;Request-rate: 用来限制URL的读取频率,用于控制不同的时间段采用不同的抓取速率。

    后来估计支持的人太少,就渐渐的废掉了,有兴趣的博友可以自行研究一下,马海祥了解到的是目前google和baidu都已经不支持这个规则了,其他小的引擎公司貌似从来都没有支持过。

    四、Robots协议中的语法属性解释

    Robots协议用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓??;可以屏蔽一些网站中比较大的文件,如图片,音乐,视频等,节省服务器带宽;也可以屏蔽站点的一些死链接,方便搜索引擎抓取网站内容;再或者是设置网站地图连接,方便引导蜘蛛爬取页面。

    User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符。

    Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录。

    Disallow: /mahaixiang/*.htm 禁止访问/mahaixiang/目录下的所有以".htm"为后缀的URL(包含子目录)。

    Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址。

    Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片。

    Disallow:/mahaixiang/abc.html 禁止爬取ab文件夹下面的adc.html文件。

    Allow: /mahaixiang/ 这里定义是允许爬寻mahaixiang目录下面的目录。

    Allow: /mahaixiang 这里定义是允许爬寻mahaixiang的整个目录。

    Allow: .htm$ 仅允许访问以".htm"为后缀的URL。

    Allow: .gif$ 允许抓取网页和gif格式图片。

    Sitemap: /sitemap.html 告诉爬虫这个页面是网站地图。

    举例:

    User-agent: *
      Disallow: /?*
      Disallow: /seo/*.htm
      User-agent: EtaoSpider
      Disallow: /

    马海祥博客解释:意思就是有禁止所有搜索引擎来抓网站中所有包含问号 (?) 的网址和seo目录下的.htm文章。同时,对etao完全屏蔽。

    五、Robots协议中的其它语法属性

    1、Robot-version: 用来指定robot协议的版本号

    例子: Robot-version: Version 2.0

    2、Crawl-delay:雅虎YST一个特定的扩展名,可以通过它对我们的抓取程序设定一个较低的抓取请求频率。

    您可以加入Crawl-delay:xx指示,其中,“XX”是指在crawler程序两次进入站点时,以秒为单位的最低延时。

    3、Crawl-delay:定义抓取延迟

    例子: Crawl-delay:/mahaixiang/

    4、Visit-time: 只有在visit-time指定的时间段里,robot才可以访问指定的URL,否则不可访问。

    例子: Visit-time: 0100-1300 #允许在凌晨1:00到13:00访问

    5、Request-rate: 用来限制URL的读取频率

    例子: Request-rate: 40/1m 0100 - 0759 在1:00到07:59之间,以每分钟40次的频率进行访问。

    Request-rate: 12/1m 0800 - 1300 在8:00到13:00之间,以每分钟12次的频率进行访问。

    马海祥博客点评:

    Robots协议是网站出于安全和隐私考虑,防止搜索引擎抓取敏感信息而设置的,搜索引擎的原理是通过一种爬虫spider程序,自动搜集互联网上的网页并获取相关信息。

    而鉴于网络安全与隐私的考虑,每个网站都会设置自己的Robots协议,来明示搜索引擎,哪些内容是愿意和允许被搜索引擎收录的,哪些则不允许,搜索引擎则会按照Robots协议给予的权限进行抓取。

    Robots协议代表了一种契约精神,互联网企业只有遵守这一规则,才能保证网站及用户的隐私数据不被侵犯,违背Robots协议将带来巨大安全隐忧。

    本文为山西十一选五遗漏号原创文章,如想转载,请注明原文网址摘自于//www.6am8.com/seoyjy/636.html,注明出处;否则,禁止转载;谢谢配合!

    相关热词搜索: robots Robots协议 robots文件 robots写法 robots属性 robots解释

    上一篇:什么是绿帽SEO?
    下一篇:网站外链是什么?

    今日话题更多>

    SEO研究院 更多 >>

  • 护栏钢管“刺穿”男子身体 消防官兵手术台协助救援 2019-07-18
  • 安徽通报2018年上半年全省旅游投诉情况 2019-07-18
  • 山西省直机关第五届职工运动会开幕 2019-07-16
  • 陕西省贫困村驻村工作队选派管理办法出台 2019-06-29
  • 阳泉计划今年在全省率先整体脱贫 2019-06-29
  • 新媒体会馆第十三期:自然灾害时期的网络谣言应对与正向传播研讨会 2019-06-14
  • 出境游代购?先了解海关税那些事 2019-06-14
  • 银保监会:4家险企偿付能力不达标 2019-06-12
  • 机场周边严查违规网约车 2019-06-10
  • 香港航空得罪赌王儿子 社交媒体究竟该在舆情管理中扮演什么角色? 2019-05-29
  • 科学家教人工智能诊断脑癌 2019-05-29
  • 晋世绘——黄河新闻网 2019-05-06
  • 什么是阶级?阶级是不同经济地位和政治地位所构成的等级差别(原创首发) 2019-05-04
  • 看改革开放40年:交通篇——从双腿丈量到抬脚上车 2019-05-02
  • 2018陕西高考数学试题分析:注重基础知识 突出思维能力 2019-05-02
  • 时时彩看规律怎么看 上海天天彩选四开奖号 乐透乐福彩论坛 重庆快乐10分开奖 谁有极速时时彩计划 上海基诺132期出奖号 中国竟彩足球网 快乐12玩法 一码三肖中特码 南粤风彩26选5开奖 山西十一选五走势图一定牛 大星彩票走势图删除 大冶市7星彩一等奖 pk10牛牛开奖结果 体育彩票广东11选5