【发布时间】:2019-03-06 05:00:48
【问题描述】:
我一直致力于网络抓取,并在一个 robots.txt 文件中遇到了以下模式。
Disallow: /*{{url}}*
Disallow: /*{{imageURL}}*
他们的意思是说我不允许抓取任何 URL?
【问题讨论】:
我一直致力于网络抓取,并在一个 robots.txt 文件中遇到了以下模式。
Disallow: /*{{url}}*
Disallow: /*{{imageURL}}*
他们的意思是说我不允许抓取任何 URL?
【问题讨论】:
这似乎是网站作者犯了一个错误,因为 {{url}} 和 {{imageURL}} 可能打算成为应该替换为实际值的变量。
根据原始 robots.txt 规范解释此记录时,所有字符都必须按字面意思解释,因此不允许使用此类 URL:
https://example.com/*{{url}}*https://example.com/*{{url}}*.barhttps://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}}。
【讨论】: