【问题标题】:Curly braces in robots txt filerobots txt 文件中的花括号
【发布时间】:2019-03-06 05:00:48
【问题描述】:

我一直致力于网络抓取,并在一个 robots.txt 文件中遇到了以下模式。

Disallow: /*{{url}}*
Disallow: /*{{imageURL}}*

他们的意思是说我不允许抓取任何 URL?

【问题讨论】:

    标签: web-scraping robots.txt


    【解决方案1】:

    这似乎是网站作者犯了一个错误,因为 {{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}}

    【讨论】:

    • 你是对的!!在看完你的回答后,我什至使用谷歌的“机器人”nuget 对其进行了测试。
    猜你喜欢
    • 2019-07-05
    • 1970-01-01
    • 2019-01-26
    • 2012-01-18
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多