首页 > WEB开发 > 网站运营 > 如何禁止搜索引擎爬虫(Spider)抓取网站页面
2014
11-07

如何禁止搜索引擎爬虫(Spider)抓取网站页面

一般情况,大家都是希望搜索引擎爬虫尽可能多的抓取自己的网站,但有时也需要告诉爬虫不要抓取,比如,不要抓取镜像页面等。

以下列举了屏蔽主流搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路。注意:是整站屏蔽,而且是尽可能的屏蔽掉所有主流搜索引擎的爬虫(蜘蛛)。

1、通过 robots.txt 文件屏蔽
可以说 robots.txt 文件是最重要的一种渠道(能和搜索引擎建立直接对话)。我通过分析我自己博客的服务器日志文件,给出以下建议(同时欢迎网友补充):

User-agent: Baiduspider
Disallow: /

User-agent: 360Spider
Disallow: /

User-agent: Googlebot
Disallow: /

User-agent: Googlebot-Mobile
Disallow: /

User-agent: Googlebot-Image
Disallow: /

User-agent: Mediapartners-Google
Disallow: /

User-agent: Adsbot-Google
Disallow: /

User-agent: Feedfetcher-Google
Disallow: /

User-agent: Yahoo! Slurp
Disallow: /

User-agent: Yahoo! Slurp China
Disallow: /

User-agent: Yahoo!-AdCrawler
Disallow: /

User-agent: YoudaoBot
Disallow: /

User-agent: Sosospider
Disallow: /

User-agent: Sogou spider
Disallow: /

User-agent: Sogou web spider
Disallow: /

User-agent: MSNBot
Disallow: /

User-agent: ia_archiver
Disallow: /

User-agent: Tomato Bot
Disallow: /

User-agent: *
Disallow: /

2、通过 meta tag 屏蔽
在所有的网页头部文件添加,添加如下语句:

<meta name=”robots” content=”noindex, nofollow”>

3、通过服务器(如:Linux/nginx )配置文件设置
直接过滤 spider/robots 的IP 段。

小注:第1招和第2招只对“君子”有效,防止“小人”要用到第3招(“君子”和“小人”分别泛指指遵守与不遵守 robots.txt 协议的 spider/robots),所以网站上线之后要不断跟踪分析日志,筛选出这些 badbot 的ip,然后屏蔽之。

这里有一个 badbot ip 数据库:http://www.spam-whackers.com/bad.bots.htm

4、通过搜索引擎提供的站长工具,删除网页快照
比如,有的时候百度不严格遵守 robots.txt 协议,可以通过百度提供的“网页投诉”入口删除网页快照。百度网页投诉中心:http://tousu.baidu.com/webmaster/add

如下图是我的一个网页投诉:

大概3天左右的时间过去,这个网页的百度快照也被删除,说明此种方法也能起效,当然这是不得而为之,属于亡羊补牢。

5、补充更新
可以通过检测 HTTP_USER_AGENT 是否为爬虫/蜘蛛访问,然后直接返回403 状态码屏蔽之。比如:由于api 权限与微博信息隐私保护原因,Xweibo 2.0 版本后禁止搜索引擎收录。

补充禁用IP方法:
# 拒绝访问(奇虎蜘蛛)
order allow,deny
deny from 221.194.136.
deny from 220.181.33.
# 拒绝访问(有道蜘蛛)
deny from 61.135.249.
allow from all

刚才是屏蔽的整个镜像网站,再举个例子屏蔽网站的某个页面:
举例
User-agent: Baiduspider
Disallow: /1.htm
这个是 屏蔽百度抓取1.htm文件
常见Robots名字
名称 搜索引擎
google蜘蛛: googlebot
百度蜘蛛:baiduspider
yahoo蜘蛛:slurp
alexa蜘蛛:ia_archiver
msn蜘蛛:msnbot
altavista蜘蛛:scooter
lycos蜘蛛: lycos_spider_(t-rex)
alltheweb蜘蛛: fast-webcrawler/
inktomi蜘蛛: slurp

一些在线robots.txt的工具:

最后需要注意,robots.txt文件名必须是小写,而且放在网站根目录!

编程技巧