29
2014
05

打算屏蔽百度蜘蛛,可以尝试以下方法

好像现在屏蔽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:

« 上一篇 下一篇 »