好像现在屏蔽baiduspider已经成为一种时尚,难道这玩意也跟着纳斯达克变?
首先我自己不会屏蔽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则成功.
本文章转自[中国建站论坛] http://www.jianz.cn 为中国站长提供动力。
站长网新闻榜 www.admin5.com/top
补充robots知识:
搜索引擎Robots协议,是放置在网站根目录下robots.txt文本文件,在文件中可以设定搜索引擎蜘蛛爬行规则。设置搜索引擎蜘蛛Spider抓取内容规则。下面Seoer惜缘举例robots写法规则与含义:
首先要创建一个robots.txt文本文件,放置网站的根目录下,下面就开始编辑设置Robots协议文件:
一、允许所有搜索引擎蜘蛛抓取所以目录文件,如果文件无内容,也表示允许所有的蜘蛛访问,
设置代码如下:
User-agent: *
Disallow:
或者
User-agent: *
Allow: /
二、禁止某个搜索引擎蜘蛛抓取目录文件,设置代码如下:
User-agent:
MsnbotDisallow: /
例如想禁止MSN的蜘蛛抓取就设为,
Msnbot代表MSN的蜘蛛,如果想禁止其他搜索引擎就更换蜘蛛名字即可,其他蜘蛛名字如下:
百度的蜘蛛:baiduspider
Google的蜘蛛: Googlebot
腾讯Soso:Sosospider
Yahoo的蜘蛛:Yahoo Slurp
Msn的蜘蛛:Msnbot
Altavista的蜘蛛:Scooter
Lycos的蜘蛛: Lycos_Spider_(T-Rex)
三、禁止某个目录被搜索引擎蜘蛛抓取,设置代码如下:
User-agent: *
Disallow: /目录名字1/
Disallow: /目录名字2/
Disallow: /目录名字3/
把目录名字改为你想要禁止的目录即可禁止搜索引擎蜘蛛抓取,目录名字未写表示可以被搜索引擎抓取。
四、禁止某个目录被某个搜索引擎蜘蛛抓取,设置代码如下:
User-agent: 搜索引擎蜘蛛名字 说明(上面有说明蜘蛛的名字)
Disallow: /目录名字/ 说明(这里设定禁止蜘蛛抓取的目录名称)
例如,想禁目Msn蜘蛛抓取admin文件夹,可以设代码如下:
User-agent: Msnbot
Disallow: /admin/
五、设定某种类型文件禁止被某个搜索引擎蜘蛛抓取,
设置代码如下:
User-agent: *
Disallow: /*.htm 说明(其中“.htm”,表示禁止搜索引擎蜘蛛抓取所有“htm”为后缀的文件)
六、充许所有搜索引擎蜘蛛访问以某个扩展名为后缀的网页地址被抓取,
设置代码如下:
User-agent: *
Allow: .htm$ 说明(其中“.htm”,表示充许搜索引擎蜘蛛抓取所有“htm”为后缀的文件)
七、只充许某个搜索引擎蜘蛛抓取目录文件,设置代码如下:
User-agent: 搜索引擎蜘蛛名字 说明(上面有说明蜘蛛的名字)
Disallow: