admin管理员组

文章数量:1560433

在大部分情况下,网站开发完成后,在运营期间,都希望搜索引擎收录网站的内容越多越好,但是有的时候为了安全期间不希望搜索引擎收录网页内容,比如在外网部署的监控系统等; 
以下列举了屏蔽主流搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路。注意:是整站屏蔽,而且是尽可能的屏蔽掉所有主流搜索引擎的爬虫(蜘蛛)。 
1、通过 robots.txt 文件屏蔽
可以说 robots.txt 文件是最重要的一种渠道(能和搜索引擎建立直接对话)。我通过分析我自己博客的服务器日志文件,给出以下建议(同时欢迎网友补充): 
User-agent: Baiduspider 
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/bad.bots.htm
4、通过搜索引擎提供的站长工具,删除网页快照
比如,有的时候百度不严格遵守 robots.txt 协议,可以通过百度提供的“网页投诉”入口删除网页快照。百度网页投诉中心:http://tousu.baidu/webmaster/add
如下图是我的一个网页投诉:

 

大概3天左右的时间过去,这个网页的百度快照也被删除,说明此种方法也能起效,当然这是不得而为之,属于亡羊补牢。 
5、补充更新
可以通过检测 HTTP_USER_AGENT 是否为爬虫/蜘蛛访问,然后直接返回403 状态码屏蔽之。比如:由于api 权限与微博信息隐私保护原因,Xweibo 2.0 版本后禁止搜索引擎收录。

 

本文转自    geekwolf   51CTO博客,原文链接:http://blog.51cto/linuxgeek/998981



本文标签: 爬虫几种浅谈屏蔽蜘蛛