Robots 协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过 Robots 协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。Robots 协议的本质是网站和搜索引擎爬虫的沟通方式,用来指导搜索引擎更好地抓取网站内容,而不是作为搜索引擎之间互相限制和不正当竞争的工具。在 2012 年由中国互联网协会举行的《互联网搜索引擎服务自律公约》签约仪式上,百度、即刻搜索、奇虎 360、搜狗等 12 家搜索引擎服务企业签署公约,共同承诺:互联网站所有者设置 Robots 协议应遵循公平、开放和促进信息自由流动的原则,限制搜索引擎抓取应有行业公认合理的正当理由,不利用 Robots 协议进行不正当竞争行为,积极营造鼓励创新、公平公正的良性竞争环境。Robots 协议初衷:保护网站内部信息,保护服务器流量平衡在互联网发展早期,搜索引擎还没有为网站带来明显的商业价值,搜索引擎爬虫也没有受到网站的普遍欢迎,主要有如下原因:一、快速抓取导致网站过载,影响网站正常运行;二、重复抓取相同的文件,抓取层级很深的虚拟树状目录,浪费服务器资源;三、抓取网站管理后台等内部敏感信息,或抓取临时文件等对用户没有价值的信息;四、抓取会对投票等 CGI 脚本造成负面影响,可能出现虚假的投票结果。Robots 协议正是针对搜索引擎爬虫的这些弊端而设计的约束措施。1994 年,Robots 协议由荷兰籍网络工程师 Martijn Koster 首次提出,Martijn Koster 也因此被誉为“Robots 之父”。之后直到 2008 年 6 月,Yahoo、Google 和 MSN Live Search 共同通过非官方途径宣布采纳该标准,各大搜索引擎公司开始对 Robots 协议进行商业研究,各种公司标准的 Robots 协议开始产生。对于网站来说,设置 Robots 协议主要有三个目的,首先是保护网站内部信息不被搜索引擎爬虫抓取;其次是引导爬虫不要抓取对用户没有价值的信息;最后是为了保护中小网站的流量平衡,避免爬虫快速抓取给网站服务器带来过大压力。但通常来说,用户在利用搜索引擎检索到内容网站时,对内容网站并不构成伤害,反而会为内容网站带来更多用户。绝大多数网站非但不会使用 Robots 协议禁止搜索引擎抓取,反而希望自己的网站内容能够更快、更全面地被搜索引擎收录,并展现在搜索结果的前列,由此也催生出搜索引擎竞价排名、SEO(搜索结果优化)等商业模式。Robots 协议使用现状:绝大多数网站对搜索引擎一视同仁Robots 协议也就是 robots.txt 文本文件,当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在 robots.txt。如果存在,搜索爬虫就会按照该文件中的内容来确定访问的范围;如果 robots.txt 文件不存在,搜索爬虫将会抓取网站上所有没有被口令保护的页面。商业网站大多会在 robots.txt 中提供 SiteMap 文件链接地址,为搜素引擎指路,方便爬虫更好地抓取网站内容。此外,网站也可以使用 robots.txt 屏蔽网站中一些比较大的文件,如:视频、图片等,节省服务器带宽,也可以屏蔽网站的一些死链接。Robots 协议的写法包括两类:一类是对所有的网络爬虫一视同仁,使用 UserAgent * 这样的写法,明确写明不允许抓取的目录,这也是国际上商业网站 Robots 协议的主流用法,在 Alexa 的网站排行榜上选取前 100 个有 Robots 协议文件的国外网站,其中有 85 个站点使用了 Original Robots 协议规范,即不设置任何黑白名单,对所有爬虫一视同仁,或只针对部分爬虫做细微的规则指导,但是不禁止任何爬虫抓取;另一类是如 Facebook、LinkedIn、Twitter 这种采用黑白名单机制写 robots.txt 的网站,在 robots.txt 中针对每种网络爬虫规定哪些目录不能抓取,LinkedIn 在 robots.txt 文件中还列出了申请将网络爬虫加入白名单中的联系方法。Alexa 上有 Robots 协议文件的 TOP100 网站中,有 15 个网站在 robots.txt 中设置了黑白名单,但只有一个是对通用搜索引擎的爬虫进行了黑名单设置,其他都是针对一些非通用搜索引擎的特殊爬虫设置黑名单。Robots 协议的误区:并非真正意义的“协议”Robots 协议虽然名为“协议”,但只是行业惯用的说法,它并非真正意义上的协议,也不受任何机构保护。“Robots 之父”Martijn Koster 对 Robots 协议的性质进行了如下阐述:Robots 协议是一个未经标准组织备案的非官方标准,它也不属于任何商业组织。本协议不受任何机构保护,所有现有和未来的机器人不一定使用本协议。Robots 协议是 Robot 创作者们向互联网社区提供的用来保护互联网服务器免受骚扰的一个通用工具。早在 1997 年,Martijn Koster 曾向 IETF(互联网工程任务组)提交申请,试图把 Robots 协议作为该组织规范,但被 IETF 拒绝。之后,国际电信联盟(ITU)、万维网联盟(W3C)的规范也同样拒绝采纳 Robots 协议。欧美电信专家担心,由于 Robots 协议包含排斥性条款,搜索巨鳄可能会利用 Robots 协议的条款,迫使某些热门网站与其签署排他性协议,从而将后起竞争者挡在门外,维护垄断。在 2012 年 11 月 1 日,中国互联网协会在北京举行《互联网搜索引擎服务自律公约》签约仪式。据中国互联网协会胡启恒理事长介绍,“本次公约的制定充分体现了互联网的精神,一方面,公约对非法律条文规定、国际互联网界拥有共识的 Robost 协议给予了的充分的尊重和肯定。另一方面,互联网是生而自治的,在日后随着互联网技术应用的不断发展,还会有许多新兴问题出现,同时也希望业界能够基于诚信、自主自治的互联网精神来解决互联网的争议,共同讨论和解决出现的问题。”《互联网搜索引擎服务自律公约》明确规定,“互联网站所有者设置 Robots 协议应遵循公平、开放和促进信息自由流动的原则,限制搜索引擎抓取应有行业公认合理的正当理由,不利用 Robots 协议进行不正当竞争行为,积极营造鼓励创新、公平公正的良性竞争环境。”百度、即刻搜索、盘古搜索、奇虎 360、盛大文学、搜狗、腾讯、网易、新浪、宜搜、易查无限、中搜等 12 家发起单位在现场共同签署了《互联网搜索引擎服务自律公约》,表示将自觉遵守自律公约各项规定,不断提升服务水平,努力改善用户体验,积极为搜索引擎服务行业的健康发展贡献力量。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。