现在位置首页 / 项目实战 /正文

Robots协议定义和文件格式说明

作者: IT小兵 | 2014年8月11日| 热度:℃ | 评论: |参与:


Robots

robots.txt可以告诉搜索引擎您的网站哪些页面可以被收录,哪些页面不可以被收录,如果您不想让搜索引擎收录您网站的某些内容,请用robots.txt文件指定搜索引擎在您网站上的抓取范.txt文件,及robots.txt文件内容,并能按照您的需求生成正确的robots.txt文件。

什么是robots.txt文件?

搜索引擎使用spider程序自动访问互联网上的网页并获取网页信息。spider在访问一个网站时,会首先会检查该网站的根域下是否有一个叫做 robots.txt的纯文本文件,这个文件用于指定spider在您网站上的抓取范围。您可以在您的网站中创建一个robots.txt,在文件中声明 该网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。 

robots.txt文件应该放置在网站根目录下。举例来说,当spider访问一个网站(比如 http://www.abc.com)时,首先会检查该网站中是否存在http://www.abc.com/robots.txt这个文件,如果 Spider找到这个文件,它就会根据这个文件的内容,来确定它访问权限的范围。

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


robots.txt文件的格式

"robots.txt"文件包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL, or NL作为结束符),每一条记录的格式如下所示:

"<field>:<optional space><value><optional space>"

在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow和Allow行,详细情况如下:

User-agent:
该项的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多条User-agent记录说明有多个robot会受 到"robots.txt"的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何robot均有效, 在"robots.txt"文件中,"User-agent:*"这样的记录只能有一条。如果在"robots.txt"文件中,加入"User- agent:SomeBot"和若干Disallow、Allow行,那么名为"SomeBot"只受到"User-agent:SomeBot"后面的 Disallow和Allow行的限制。

Disallow:
该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被 robot访问。例如"Disallow:/help"禁止robot访问/help.html、/helpabc.html、/help /index.html,而"Disallow:/help/"则允许robot访问/help.html、/helpabc.html,不能访问 /help/index.html。"Disallow:"说明允许robot访问该网站的所有url,在"/robots.txt"文件中,至少要有一 条Disallow记录。如果"/robots.txt"不存在或者为空文件,则对于所有的搜索引擎robot,该网站都是开放的。

Allow:
该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL 是允许robot访问的。例如"Allow:/hibaidu"允许robot访问/hibaidu.htm、/hibaiducom.html、 /hibaidu/com.html。一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页 同时禁止访问其它所有URL的功能。

使用"*"and"$":
Baiduspider支持使用通配符"*"和"$"来模糊匹配url。
"$" 匹配行结束符。
"*" 匹配0或多个任意字符。

注:我们会严格遵守robots的相关协议,请注意区分您不想被抓取或收录的目录的大小写,我们会对robots中所写的文件和您不想被抓取和收录的目录做精确匹配,否则robots协议无法生效。


扩展阅读:

即使不是工程狮,关注互联网的人也很少不知道Robots协议。百度和360从2012年起展开的一场屏蔽与反屏蔽战把原本程序猿才知道的Robots协议变成媒体热词。北京一中院8月7日对3B搜索不正当竞争纠纷案(3B案)刚刚作出的一审判决让Robots协议在新闻里又火了一把。Robots协议的法律地位或法律效力问题是3B案一系列法律问题中最大的争点,分析这个问题就必须先了解Robots协议的内容和意义。

Robots协议和搜索引擎的爬虫程序(Spider)其实是一对同胞兄弟。
1994年之前,AltaVista、Infoseek等代表的搜索引擎在互联网可以通过Spider直入网站管理后台,把所有网页信息系数收录。除了涉及隐私外,爬虫程序的反复收录在20年前对网站带宽也是不小的负载。荷兰工程师Martin Koster深感互联网丛林之乱,提出通过设立名为Robots规范的网站访问限制政策(Access Policy)方式在整个互联网统一解决Spider无所不在所带来的威胁。Robots协议在技术实现上并不复杂,网站管理员只要按规则在网站根目录下创建Robots.txt的文本文件就可以禁止搜索爬虫收录指定网页内容。从早期的AltaVista、Infoseek到后来居上的Google 、Yahoo和美国以外的Baidu等各大搜索引擎都群体接受了Robots协议,避免和内容网站为Spider陷入一场危机。
二、Robots规则可以受法律保护
反对3B案一审判决的理由集中对Robots协议法律效力的否定上。Robots协议并不是法律,也没有被IETF、ITU和W3C等国际标准组织接纳。但国际标准也不是法律,逻辑上成为国际标准不等于自动享有法律保护。法律和规则并不是同一个概念,法律属于规则,而规则远远大于法律。百度是以不正当竞争为案由起诉360,反不正当竞争法本身就是通过列举加兜底的方式,在少数明确规定的违法行为外以原则性规定了根据不正当竞争行为的判断标准。司法者的权限并不局限于寻找包含Robots协议内容的具体法条,而是可以根据实际案情裁量违反Robots协议是否就违反了反不正当竞争法第二条对经营者应当遵循自愿、平等、公平、诚实信用和公认商业道德的强制性规定。认定违法并不需要将Robots协议上升为法律作为前提,违反规则就可能导致违反法律的结果。况且3B案发生背景之一,是被告奇虎360本身就通过签署《互联网搜索引擎服务自律公约》承诺“遵守机器人协议(Robots协议)”和“限制搜索引擎抓取应有行业公认合理的正当理由,不利用机器人协议进行不正当竞争行为”。360在明确承认Robots协议约束力后又规避了协议,既是违法又构成违约。
法律之外的规则受法律承认和保护是普遍现象。
合同不是法律而是当事人自由达成的一致意思表示,但依法成立的合同当然受法律保护。《合同法》第八条即规定:“依法成立的合同,对当事人具有法律约束力。…依法成立的合同,受法律保护。”被互联网广泛采用的Robots协议属于行业惯例,仅《合同法》就在第二十二条、第二十六条、第六十条、第六十一条、第九十二条等九个条款承认交易习惯的效力,如第九十二条就规定:“合同的权利义务终止后,当事人应当遵循诚实信用原则,根据交易习惯履行通知、协助、保密等义务”。《物权法》第八十五条也规定:“法律、法规对处理相邻关系有规定的,依照其规定;法律、法规没有规定的,可以按照当地习惯”。根据法理及以上法条的规定,惯例完全有可能获得法定效力及执行力。3B案判决认可Robots协议的效力是法官依职权对Robots协议合法性进行认知的过程,并不存在法官造法或逾越职权创造新权利。
百度在360推出网络搜索后迅速启用Robots协议,在百度旗下的知道、贴吧、文库、百科等产品屏蔽了360爬虫。百度屏蔽360的产品基本属于用户创造内容(UGC)类型的上传平台。百度对平台内容并不直接享有著作权,360因此质疑百度无权拒绝收录。但UGC平台身份也无碍百度根据《著作权法》第十四条对相关内容享有作为汇编者的权利。在百度主张反不正当竞争保护情况下,举证责任更简化到证明原告合法投入因被告竞争行为受到实际损害及被告竞争行为违反诚实信用或商业道德,而360强行利用百度网站内容已构成搭便车的不正当竞争行为。




点击阅读本文所属分类的更多文章: 项目实战 。和高手一起交流:346717337
友荐云推荐

未注明转发、原文均为本站原创。分享本文请注明 原文链接

给您更多信息和帮助

在这里您可以找到更多:

技术交流群:346717337 Jquery插件交流

投稿:suchso@vip.qq.com

承接:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/业务咨询

抢天猫双11红包
推荐使用阿里云服务器
echarts教程系列
本月最热文章

微信扫一扫,徜徉悠嘻网,您的休闲乐园

微信公众号:快乐每一天

随机文章
标签

技术交流群:346717337

投稿:suchso@vip.qq.com

专业专注:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/付费问题咨询