我对 robots.txt 的精确语法有点模糊,但我想要实现的是:
- 告诉所有用户代理不要抓取某些页面
- 告诉某些用户代理不要抓取任何内容
(基本上,一些包含大量数据的页面永远不应该被抓取;而一些贪婪但无用的搜索引擎,例如 Cuil,永远不应该抓取任何内容)
如果我做这样的事情:
User-agent: *
Disallow: /path/page1.aspx
Disallow: /path/page2.aspx
Disallow: /path/page3.aspx
User-agent: twiceler
Disallow: /
..它会按照预期进行吗?所有用户代理都匹配第一条规则并跳过页面 1、页面 2 和页面 3;而两次匹配第二条规则并跳过所有内容?
答案1
看来你的理解比你意识到的要深刻。:)
答案2
嗯,这取决于爬虫程序以及它是否只根据第一次匹配进行操作。IE 两次搜索器可能会首先看到通配符条目,而不会进行进一步检查,因此不会看到 Disallow: /