
今天,Google宣布了
机器人排除协议(REP)标准的RFC草案 ,同时根据Apache License 2.0提供了robots.txt文件解析器。 直到今天,还没有针对机器人排斥协议(REP)和robots.txt(这是最接近它的)的官方标准,该标准允许开发人员和用户以自己的方式对其进行解释。 该公司的倡议旨在减少实施之间的差异。
可以
在IETF网站上查看新标准的草案,该存储库位于Github上,
网址为
https://github.com/google/robotstxt 。
解析器是Google用作生产系统的一部分的源代码(除了少量修改(例如,仅在公司内部使用的已删除头文件)),robots.txt文件的解析与Googlebot完全一样(包括他如何对待模式中的Unicode字符)。 该解析器是用C ++编写的,实际上包含两个文件-您需要与C ++ 11兼容的编译器,尽管库代码可以追溯到90年代,并且在其中可以找到“原始”指针和
strbrk 。 为了组装它,建议使用
Bazel (计划在不久的将来支持CMake)。
robots.txt和标准的基本概念属于Martine Coster,他于1994年创建了它-
根据传说 ,原因是搜索蜘蛛Charles Strauss,他使用DoS攻击“丢弃”了Bonfire服务器。 他的想法被其他人接受,并迅速成为搜索引擎开发人员的事实上的标准。 那些想要进行解析的人有时不得不对Googlebot进行逆向工程,包括Blekko,后者为自己的搜索引擎
为Perl编写了
自己的解析器 。
解析器并非一帆风顺:例如,查看
不允许处理的工作量 。