继淘宝屏蔽百度蜘蛛以后,各大门户先后屏蔽百度,屏蔽百度已经成为今天的热门话题.如果你也想屏蔽百度,那就试试下面的方法把
首先我自己不会屏蔽baiduspider,也不大相信baiduspider会故意忽略robots.txt,但如果你真的想屏蔽 baiduspider,可尝试以下方法:
1. 上传一个robots.txt到根目录,内容为:
User-agent: baiduspider
Disallow: /
一个搜索引擎爬虫工作前首先应该访问/robots.txt制定排除列表,baiduspider还无法高级到故意忽略某些网站的robots.txt,不知道baiduspider怎么折腾才能让robots.txt失效。
2. 如果仅仅因为服务器吃不消,不防按照的指示写信给百度。估计很多人试过得不到回复(Google基本都是2个工作日内回复)。
3. 如果还没有办法,可尝试.htaccess屏蔽,上传一个.htaccess文件到根目录,内容为:
SetEnvIfNoCase User-Agent "^baiduspider" ban_bot
deny from env=ban_bot
还可以扩大这个列表,屏蔽那些Email提取爬虫、网站克隆爬虫等(小偷一般不守法,但总比自己什么都不做强):
SetEnvIfNoCase User-Agent "^baiduspider" ban_bot
SetEnvIfNoCase User-Agent "^HTTrack" ban_bot
SetEnvIfNoCase User-Agent "^EmailCollector" ban_bot
SetEnvIfNoCase User-Agent "^EmailWolf" ban_bot
SetEnvIfNoCase User-Agent "^ExtractorPro" ban_bot
SetEnvIfNoCase User-Agent "^Offline" ban_bot
SetEnvIfNoCase User-Agent "^WebCopier" ban_bot
SetEnvIfNoCase User-Agent "^Webdupe" ban_bot
SetEnvIfNoCase User-Agent "^WebZIP" ban_bot
SetEnvIfNoCase User-Agent "^Web Downloader" ban_bot
SetEnvIfNoCase User-Agent "^WebAuto" ban_bot
SetEnvIfNoCase User-Agent "^WebCapture" ban_bot
SetEnvIfNoCase User-Agent "^WebMirror" ban_bot
SetEnvIfNoCase User-Agent "^WebStripper" ban_bot
deny from env=ban_bot
.htaccess要用文本方式上传,有些Apache配置比较怪异,防止引起冲突建议上传后立刻看看是否影响普通用户的访问。如果浏览正常,再用FlashGet模拟baiduspider测试这个.htaccess是否工作,方法是:
FlashGet->工具->选项->协议,把HTTP用户代理改成用户自定义:baiduspider;然后用FlashGet下载该网站任意页面,在FlashGet的下载日志里得到HTTP/1.1 403 Forbidden则成功.