如何屏蔽爬虫yisouspider一搜蜘蛛访问站点

投稿  懿古今 2016-11-30 阅读 86 次 评论 24 条

今天无意间发现我的两个站点访问速度都非常缓慢,登录阿里云后台看了ECS服务器才发现CUP的使用率经常达到99-100%,看了日志才发现yisouspider(一搜蜘蛛,现在应该是属于神马的)蜘蛛正在疯狂爬行,就算是我在robots.txt设置了禁止爬行的路径也被爬行了。如果是凌晨爬行就不说了,竟然是在大白天疯狂爬行,分分钟可以搞瘫我们的站点,度娘一下发现有很多人都在吐槽这个yisouspider,最终的解决方案就是直接禁止yisouspider的爬行和访问。

如何屏蔽爬虫yisouspider一搜蜘蛛访问站点

如何屏蔽爬虫yisouspider一搜蜘蛛访问站点 yisouspider爬行robots文件禁止的路径

yisouspider爬行robots文件禁止的路径

UC社区神马搜索中给出的解释:

robots.txt是搜索引擎访问网站时要访问的第一个文件,以确定哪些网页是允许或禁止抓取的。yisouspider遵守robots.txt协议。如您希望完全禁止神马访问或对部分目录禁止访问,您可以通过robots.txt文件来设置内容,限定yisouspider的访问权限。

如果您开通了CNZZ云推荐服务,协议中默认支持yisouspider抓取,会忽略robots.tx文件协议的限制。

限定Yisouspider访问权限的robots协议写法

robots.txt必须放在网站根目录下,且文件名要小写。

具体写法:

1) 完全禁止yisouspider抓取:

  1. User-agent: yisouspider
  2. Disallow: /

2) 禁止yisouspider抓取指定目录

  1. User-agent: yisouspider
  2. Disallow: /update
  3. Disallow: /history

禁止抓取update、history目录下网页

疑问

我们平时写robots协议的时候都是直接写User-agent: *,跟神马搜索给出的User-agent: yisouspider有点不一样,不知道是不是这个问题导致我们的robots协议对yisouspider毫无作用。

不过我也懒得折腾这个针对yisouspider的robots协议,我还是直接在nginx里面禁止yisouspider来得更有效果。

Nginx屏蔽爬虫yisouspider访问站点方法:

进入到nginx安装目录下的conf目录,将如下代码保存为 agent_deny.conf

  1. #禁止Scrapy等工具的抓取
  2. if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
  3.      return 403;
  4. }
  5. #禁止指定UA及UA为空的访问
  6. if ($http_user_agent ~ "yisouspider|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {
  7.      return 403;
  8. }
  9. #禁止非GET|HEAD|POST方式的抓取
  10. if ($request_method !~ ^(GET|HEAD|POST)$) {
  11.     return 403;
  12. }

然后,在网站相关配置中的

  1. location / {
  2.         try_files $uri $uri/ /index.php?$args;

下方插入如下代码:

  1. include agent_deny.conf;

保存后,执行如下命令,平滑重启nginx即可:

  1. /usr/local/nginx/sbin/nginx -s reload

懿古今和boke112导航站点就是使用这个方法成功屏蔽爬虫yisouspider访问。设置好之后,我的ECS服务器CPU的使用率立马就降下来了。

如何屏蔽爬虫yisouspider一搜蜘蛛访问站点 CUP使用率下降

根据百度统计给出的数据,我的站点来自神马搜索的不多,所以权衡之下只能禁止yisouspider蜘蛛爬行了,要不然我的站点经常被它搞瘫了就得不偿失了。如果你的服务器比较给力,不会被搞瘫的话,就没必要禁止它了。

PS:请允许我用小心之心揣测,以前使用阿里云免费虚拟主机每个月都会出现资源耗尽,最大的问题很有可能就会被yisouspider蜘蛛爬行导致的。

Apache屏蔽爬虫yisouspider访问站点方法:

1、通过修改 .htaccess文件

修改网站目录下的.htaccess,添加如下代码即可(2种代码任选):

可用代码 (1):

  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} (^$|yisouspider|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms) [NC]
  3. RewriteRule ^(.*)$ - [F]

可用代码 (2):

  1. SetEnvIfNoCase ^User-Agent$ .*(yisouspider|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms) BADBOT
  2. Order Allow,Deny
  3. Allow from all
  4. Deny from env=BADBOT

2、通过修改httpd.conf配置文件

找到如下类似位置,根据以下代码 新增 / 修改,然后重启Apache即可:

  1. DocumentRoot /home/wwwroot/xxx
  2. <Directory "/home/wwwroot/xxx">
  3. SetEnvIfNoCase User-Agent ".*(yisouspider|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms)" BADBOT
  4.         Order allow,deny
  5.         Allow from all
  6.        deny from env=BADBOT
  7. </Directory>

PHP代码屏蔽爬虫yisouspider访问站点方法:

将如下方法放到贴到网站入口文件index.php中的第一个 <?php 之后即可:

  1. //获取UA信息
  2. $ua = $_SERVER['HTTP_USER_AGENT'];
  3. //将恶意USER_AGENT存入数组
  4. $now_ua = array('yisouspider','FeedDemon ','BOT/0.1 (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy Library','oBot','jaunty','YandexBot','AhrefsBot','MJ12bot','WinHttp','EasouSpider','HttpClient','Microsoft URL Control','YYSpider','jaunty','Python-urllib','lightDeckReports Bot');
  5. //禁止空USER_AGENT,dedecms等主流采集程序都是空USER_AGENT,部分sql注入工具也是空USER_AGENT
  6. if(!$ua) {
  7.     header("Content-type: text/html; charset=utf-8");
  8.     die('请勿采集本站,因为采集的站长木有小JJ!');
  9. }else{
  10.     foreach($now_ua as $value )
  11. //判断是否是数组中存在的UA
  12.     if(eregi($value,$ua)) {
  13.         header("Content-type: text/html; charset=utf-8");
  14.         die('请勿采集本站,因为采集的站长木有小JJ!');
  15.     }
  16. }
温馨提示

本文三种方法及代码均来自张戈博主分享的《服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站》。对于Apache和PHP代码屏蔽yisouspider的办法懿古今没有亲自测试,本站只采用了Nginx屏蔽yisouspider的办法,所以如果采用其他方法遇到问题的请前往张戈博客留言求助。

附录:UA收集

下面是网络上常见的垃圾UA列表,仅供参考,同时也欢迎你来补充。

  1. yisouspider              一搜蜘蛛
  2. FeedDemon             内容采集
  3. BOT/0.1 (BOT for JCE) sql注入
  4. CrawlDaddy            sql注入
  5. Java                  内容采集
  6. Jullo                 内容采集
  7. Feedly                内容采集
  8. UniversalFeedParser   内容采集
  9. ApacheBench           cc攻击器
  10. Swiftbot              无用爬虫
  11. YandexBot             无用爬虫
  12. AhrefsBot             无用爬虫
  13. YisouSpider           无用爬虫(已被UC神马搜索收购,此蜘蛛可以放开!)
  14. MJ12bot               无用爬虫
  15. ZmEu phpmyadmin       漏洞扫描
  16. WinHttp               采集cc攻击
  17. EasouSpider           无用爬虫
  18. HttpClient            tcp攻击
  19. Microsoft URL Control 扫描
  20. YYSpider              无用爬虫
  21. jaunty                wordpress爆破扫描器
  22. oBot                  无用爬虫
  23. Python-urllib         内容采集
  24. Indy Library          扫描
  25. FlightDeckReports Bot 无用爬虫
  26. Linguee Bot           无用爬虫
本文地址:http://boke112.com/3672.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 懿古今 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana
CPA教学与引流技巧

发表评论

呲牙憨笑坏笑偷笑色微笑抓狂睡觉酷流汗鼓掌大哭可怜疑问晕惊讶得意尴尬发怒奋斗衰骷髅啤酒吃饭礼物强弱握手OKNO勾引拳头差劲爱你

表情

  1. 南通SEO
    南通SEO 【村长】 @回复

    厉害了,word哥。

  2. 橘子书
    橘子书 【县长】 @回复

    [憨笑] 有没有更简单粗暴的方法?
    话说,你博客的输入框加了文字特效,不觉得太过花俏了吗?

    • 我爱动感单车网
      我爱动感单车网 【省长】 @回复

      @橘子书 我也是这么觉得,现在我是越来越觉得很多特效,适得其反啊!

    • boke112导航
      boke112导航【站长】 @回复

      @橘子书 [偷笑] 感觉单纯输入文字太单调了,所以增加一个效果也不错,JS代码才几KB,还行

  3. 捌零男人
    捌零男人 【镇长】 @回复

    这么多的蜘蛛够一桌了,现在留言还放烟花呢,博主真能整啊

  4. 我爱动感单车网
    我爱动感单车网 【省长】 @回复

    [抓狂] 一搜蜘蛛虽然爬取勤快,但是收录照样不好,还真就想禁止了它来自己的博客爬行。

  5. 明月登楼的博客
    明月登楼的博客 【总理】 @回复

    呵呵,感觉神马搜索的流量还是有的!毕竟UC用的就是这个!

  6. qq昵称大全
    qq昵称大全 【农民】 @回复

    我神马每天来100多IP呢,比360给力。360的就少了,1天几个甚至没有。禁了就不好了,呵呵。

  7. 唯历史
    唯历史 【总理】 @回复

    你怎么老屏蔽呀,我是想尽办法,搜索引擎还不好好收录!

  8. 易淘金股票博客
    易淘金股票博客 【镇长】 @回复

    自由吧不屏蔽了

  9. 苍蓝公爵
    苍蓝公爵 【镇长】 @回复

    我的也是,所以全面禁了!

    • 懿古今
      懿古今 【农民】 @回复

      @苍蓝公爵 如果神马搜索来路流量比较多的情况下就不要屏蔽,如果很少,但是它一来就搞我们主机崩溃的,就有必要屏蔽了

    • 我爱动感单车网
      我爱动感单车网 【省长】 @回复

      @苍蓝公爵 [微笑] 看来,我是不是也要像你一样禁止它呢?

  10. DIY大全
    DIY大全 【队长】 @回复

    真的还有好多地方不懂的

  11. 爱时尚
    爱时尚 【市长】 @回复

    我网站的内存使用率过高也是这个问题吗

    • 懿古今
      懿古今 【农民】 @回复

      @爱时尚 这个还真不好说,你开看看你的日志文件,看看这个一搜来的时候,CPU是不是特别高

  12. 薅羊毛
    薅羊毛 【村长】 @回复

    这个长知识了