机器人 txt 文件中的大括号
Curly braces in robots txt file
我一直致力于网络抓取并在一个 robots.txt 文件中遇到了以下模式。
Disallow: /*{{url}}*
Disallow: /*{{imageURL}}*
他们的意思是不允许我刮任何 URL 吗?
这看起来像是网站作者犯了一个错误,因为 {{url}}
和 {{imageURL}}
可能是应该用实际值替换的变量。
根据原始 robots.txt 规范解释此记录时,所有字符都必须按字面解释,因此 URL 不允许这样:
https://example.com/*{{url}}*
https://example.com/*{{url}}*.bar
https://example.com/*{{url}}*/
https://example.com/*{{url}}*/foo
由于 {
和 }
不允许出现在 URL 路径 (list of allowed characters) 中,这意味着所有 URL 都是允许被抓取。但是,如果您愿意,可以假设它适用于 {
/}
的百分比编码形式,但这不是规范所要求的。
根据 robots.txt 规范的流行扩展(例如 as used by Google Search)解释此记录时,*
具有特殊含义:每个 *
在一个Disallow
值可以不替换任何字符或任何字符序列。这将导致更多不允许的 URL,但它们仍然必须按字面意思包含 {{url}}
和 {{imageURL}}
.
我一直致力于网络抓取并在一个 robots.txt 文件中遇到了以下模式。
Disallow: /*{{url}}*
Disallow: /*{{imageURL}}*
他们的意思是不允许我刮任何 URL 吗?
这看起来像是网站作者犯了一个错误,因为 {{url}}
和 {{imageURL}}
可能是应该用实际值替换的变量。
根据原始 robots.txt 规范解释此记录时,所有字符都必须按字面解释,因此 URL 不允许这样:
https://example.com/*{{url}}*
https://example.com/*{{url}}*.bar
https://example.com/*{{url}}*/
https://example.com/*{{url}}*/foo
由于 {
和 }
不允许出现在 URL 路径 (list of allowed characters) 中,这意味着所有 URL 都是允许被抓取。但是,如果您愿意,可以假设它适用于 {
/}
的百分比编码形式,但这不是规范所要求的。
根据 robots.txt 规范的流行扩展(例如 as used by Google Search)解释此记录时,*
具有特殊含义:每个 *
在一个Disallow
值可以不替换任何字符或任何字符序列。这将导致更多不允许的 URL,但它们仍然必须按字面意思包含 {{url}}
和 {{imageURL}}
.