robots.txt-用户代理块之间需要空白行,还是可选的?

问题描述 投票:0回答:1

权威文档来源中给出的看似矛盾的描述。

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/
user-agent robots.txt
1个回答
1
投票

Google Robots.txt Parser and Matcher Library对空白行没有特殊处理。 Python urllib.robotparser始终将空行解释为新记录的开始,尽管并非严格要求它们,而且解析器还将User-Agent:识别为一个。因此,您的两个配置都可以在任何一个解析器中正常工作。

但是,这特定于两个突出的robots.txt解析器;您仍然应该以尽可能<< common >>和unambiguous的方式编写它,以处理编写错误的自定义解析器。

© www.soinside.com 2019 - 2024. All rights reserved.