关于网络爬虫:Robots.txt:只允许主要 SE

Robots.txt: allow only major SE

有没有办法配置robots.txt,使网站只接受来自谷歌、雅虎的访问?和 MSN 蜘蛛?


1
2
3
4
5
6
7
8
User-agent: *
Disallow: /
User-agent: Googlebot
Allow: /
User-agent: Slurp
Allow: /
User-Agent: msnbot
Disallow:

Slurp 是雅虎的机器人


为什么?

任何作恶的人(例如,收集电子邮件地址以发送垃圾邮件)都会忽略 robots.txt。因此,您只会阻止合法的搜索引擎,因为 robots.txt 合规性是自愿的。

但是一个€"如果你坚持要这样做一个€"这就是 robots.txt 中的 User-Agent: 行的用途。

1
2
3
4
5
User-agent: googlebot
Disallow:

User-agent: *
Disallow: /

当然,还有所有其他搜索引擎的行,您希望从中获得流量。 Robotstxt.org 有一个部分列表。


根据您所谈论的国家/地区,有 3 个以上的主要搜索引擎。 Facebook 似乎做得很好,只列出了合法的:https://facebook.com/robots.txt

所以你的 robots.txt 可以是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
User-agent: Applebot
Allow: /

User-agent: baiduspider
Allow: /

User-agent: Bingbot
Allow: /

User-agent: Facebot
Allow: /

User-agent: Googlebot
Allow: /

User-agent: msnbot
Allow: /

User-agent: Naverbot
Allow: /

User-agent: seznambot
Allow: /

User-agent: Slurp
Allow: /

User-agent: teoma
Allow: /

User-agent: Twitterbot
Allow: /

User-agent: Yandex
Allow: /

User-agent: Yeti
Allow: /

User-agent: *
Disallow: /

众所周知,robots.txt 是爬虫必须遵守的标准,因此只有表现良好的代理才会这样做。所以,放不放都无所谓。

如果您有一些数据,您也没有在网站上显示,您可以更改权限并提高安全性。