首页 文章

美元符号在robots.txt中意味着什么

提问于
浏览 1827 次
5

我对一个网站感到好奇,并希望在 /s 路径上进行一些网络爬行 . Its robots.txt

User-Agent: *
Allow: /$
Allow: /debug/
Allow: /qa/
Allow: /wiki/
Allow: /cgi-bin/loginpage
Disallow: /

我的问题是:

  • 在这种情况下,美元符号意味着什么?

  • 是否适合抓取网址 /s ?关于robots.txt文件?

1 回答

  • 5

    如果您遵循original robots.txt specification$ 没有特殊含义,并且没有定义 Allow 字段 . 符合标准的机器人必须忽略它不知道的字段,因此这样的机器人实际上会看到此记录:

    User-Agent: *
    Disallow: /
    

    但是,原始的robots.txt规范已经被各方扩展 . 但由于robots.txt的作者没有针对特定机器人,我们不知道他们想到了哪个“扩展” .

    通常(但不一定,因为它没有正式指定), Allow 覆盖 Disallow 中指定的规则, $ 表示URL路径的结尾 .

    根据这种解释(例如,used by Google), Allow: /$ 意味着:您可以抓取 / ,但您可能无法抓取 /a/b 等等 .

    因此,不允许抓取路径以 /s 开头的网址(既不是根据原始规范,也不是因为 Disallow: / ,也不是根据Google的扩展名) .

相关问题