我正在尝试构建一个robots.txt解析器,我想到了一个简单的问题:robots.txt文件的规则是什么?
我开始搜索它,并且在robotstxt.org我发现了1996年的一个document,它为robots.txt文件定义了一些规则 . 本文档明确定义了User-agent,Allow和Disallow的所有规则 .
正在寻找robots.txt的一些示例,我找到了标记,例如Sitemap和Host .
我一直在寻找它,我在维基百科上发现了这个document . 解释一些额外的标签 .
但我的观点是,既然我对维基百科不太信任,并且Web Crawler技术在不断发展,为robots.txt文件创建新规则,我是否可以找到可以定义的每个规则的地方robots.txt文件?
2 回答
http://www.robotstxt.org/orig.html是官方/原始robots.txt规范.¹
它定义字段
User-agent
和Disallow
,并指定clients must ignore unknown fields . 这允许其他人创建扩展(例如,Sitemap field defined by the Sitemaps protocol) .没有注册表(因此存在名称冲突的风险),并且没有标准组织负责收集所有扩展 .
2008年,Google(their announcement),Microsoft²和Yahoo!³(their announcement)聚集在一起并同意他们支持的一系列功能(请注意,他们为
Disallow
值引入了保留字符,而在原始规范中,所有字符都是从字面上解释) .但是,这仅记录了他们的解释(对于他们的机器人);这不是其他机器人必须遵循的某种规范 . 但是检查他们的文档(例如,from Bing,from Google Search,from Yandex)可以为您提供想法 .
¹http://www.robotstxt.org/norobots-rfc.txt是RFC的初稿,但据我所知,这从未提交/发布 .
²他们的公告seems to be 404 .
³最初,他们的公告似乎是在http://www.ysearchblog.com/archives/000587.html,但现在是404 .
你会发现最官方的事情是:http://www.robotstxt.org
但是我认为就robots.txt来说,实际工作/实际使用的更重要 - 而不是某人在某些规范中所写的内容 .
一个很好的起点是Googles robots.txt信息页面和他们的在线检查器:https://support.google.com/webmasters/answer/6062608?rd=1(也建议在http://www.robotstxt.org/checker.html)