权威文档来源中给出的看似矛盾的描述。
A Standard for Robot Exclusion:
('记录'指的是每个用户代理块)
“文件由一个或多个记录组成,并由一个或多个分隔空白行(以CR,CR / NL或NL终止)。每条记录包含形式的行...“。
Google的Robot.txt Specifications:
“ ...请注意空格的可选用途和空行进行改进可读性。“
所以-基于我们已有的文件-此空行在这里是强制性的吗?
User-agent: *
Disallow: /this-directory/
User-agent: DotBot
Disallow: /this-directory/
Disallow: /and-this-directory/
或者,可以吗?
User-agent: *
Disallow: /this-directory/
User-agent: DotBot
Disallow: /this-directory/
Disallow: /and-this-directory/
Google Robots.txt Parser and Matcher Library对空白行没有特殊处理。 Python urllib.robotparser始终将空行解释为新记录的开始,尽管并非严格要求它们,而且解析器还将User-Agent:
识别为一个。因此,您的两个配置都可以在任何一个解析器中正常工作。
但是,这特定于两个突出的robots.txt
解析器;您仍然应该以尽可能<< common >>和unambiguous的方式编写它,以处理编写错误的自定义解析器。