robots.txt 中的美元符号是什么意思
What does the dollar sign mean in robots.txt
我对一个网站很好奇,想在 /s
路径上进行一些网络爬虫。 Its robots.txt:
User-Agent: *
Allow: /$
Allow: /debug/
Allow: /qa/
Allow: /wiki/
Allow: /cgi-bin/loginpage
Disallow: /
我的问题是:
在这种情况下美元符号是什么意思?
并且抓取 URL /s
合适吗?关于 robots.txt 文件?
如果跟在original robots.txt specification后面,$
没有特殊意义,也就没有定义Allow
字段。符合标准的机器人将不得不忽略它不知道的字段,因此这样的机器人实际上会看到这条记录:
User-Agent: *
Disallow: /
但是,最初的 robots.txt 规范已被各方扩展。但由于相关 robots.txt 的作者并未针对特定的机器人,我们不知道他们想到的是哪个 "extension"。
通常(但不一定,因为它没有正式指定),Allow
覆盖[=14]中指定的规则=],而$
表示URL路径结束。
按照这种解释(例如,used by Google),Allow: /$
表示:您可以爬行 /
,但不能爬行 /a
,/b
等等。
因此不允许抓取路径以 /s
开头的 URLs(无论是根据原始规范,感谢 Disallow: /
,还是根据 Google 的扩展名)。
我对一个网站很好奇,想在 /s
路径上进行一些网络爬虫。 Its robots.txt:
User-Agent: *
Allow: /$
Allow: /debug/
Allow: /qa/
Allow: /wiki/
Allow: /cgi-bin/loginpage
Disallow: /
我的问题是:
在这种情况下美元符号是什么意思?
并且抓取 URL
/s
合适吗?关于 robots.txt 文件?
如果跟在original robots.txt specification后面,$
没有特殊意义,也就没有定义Allow
字段。符合标准的机器人将不得不忽略它不知道的字段,因此这样的机器人实际上会看到这条记录:
User-Agent: *
Disallow: /
但是,最初的 robots.txt 规范已被各方扩展。但由于相关 robots.txt 的作者并未针对特定的机器人,我们不知道他们想到的是哪个 "extension"。
通常(但不一定,因为它没有正式指定),Allow
覆盖[=14]中指定的规则=],而$
表示URL路径结束。
按照这种解释(例如,used by Google),Allow: /$
表示:您可以爬行 /
,但不能爬行 /a
,/b
等等。
因此不允许抓取路径以 /s
开头的 URLs(无论是根据原始规范,感谢 Disallow: /
,还是根据 Google 的扩展名)。