简单记录遇到DataForSeoBot爬虫这件事!

因为比较菜的原因,自从使用了VPS以后就一直使用宝塔面板来维护,而平时极少登录宝塔面板的。前段时间在折腾笔记软件,最后选定了思源笔记软件,因为思源笔记软件更新的频率真的非常快,也就随着思源笔记软件更新而登录宝塔进行更新。前天登录宝塔后台之后,无意之间发现我的这台篱落香港VPS的CPU占用情况有些异常,从40%-80%不停的波动从而导致VPS的负载有时能达到90%这样。

我的这台篱落香港VPSCPU是两核心、内存是4G的,而上面只放了两个博客、一个导航、一个思源笔记,这么高的配置对于这四个网站来说,真的是大牛拉小车。所以VPS一定遇到了什么问题。

还是第一句话,自己比较菜,便在中文微信群里请教。经过好几位大神的指点,最后"诊断"出结论是遇到了DataForSeoBot爬虫。给出解决方案的大神嘛我这里就不一一列举了,表示一并的感谢!我就简单整理出"诊断"及解决办法吧!

通过SSH链接VPS,使用top命令,top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。通过观察发现有一个名为"php-fmp"进程长期CPU占用居高不下,而对于这个进行CPU占用率过高的原因,一般情况下是服务器遇到了CC。一般CC攻击的情况下,服务器的流量会非常高,而我的VPS的流量基本上是正常的,所以排除了CC攻击。

这个时候查看服务器上每个网站的日志,终于发现了问题的所在。有一个IP,每隔4秒钟就会对我的老张博客进行一次GET数据,而且后面明确注明了一个bot.html网址。你打开这个网址之后,上面会有这个SemrushBot机器人的说明以及如何屏蔽的方法。

一般情况下有两种解决方法,首先是屏蔽IP的方法,通过宝塔面板的安全设置里的系统防火墙把该IP屏蔽掉,不过DataForSeoBot爬虫的IP并不是单一的,也不是某一IP段,所以屏蔽某一IP的方法只是暂时的。这个时候我们可以安排软件商店里安排第三方插件"Nginx免费防火墙 6.6"来把国外的IP都给屏蔽了。这样就会彻底解决问题了,但是如果你的网站真的有国外朋友访问的话,那也被拒之门外了。所以通过屏蔽IP的方法并不能够完美的解决问题。

1、robots.txt方法

User-agent: DataForSeoBot
Disallow: /

2、通过修改Nginx或其它WEB服务器规则禁止抓取

Nginx禁止DataForSeoBot爬虫规则如下:

if ($http_user_agent ~ "DataForSeoBot/1.0" )
{
      return 403;
}

通过以上两种方法,就可以完美的解决问题了。这里需要说明下,不同的网络爬虫的名称可能不同,只需要DataForSeoBot替换掉就可以了。

唉,不过话又说回来了,篱落主机性能还是弱了,一个IP4秒一个GET就把CPU搞到了80%。

😊

评论区

共 27 条评论
  1. 头像
    响石潭 Lv.10
    我遇到了我不知道的,我只管码文字,其余都是虚拟主机自己在运行,也不知道有没有这些爬虫之类的
    3年前
    1. 头像
      老张 博主
      @响石潭 恶意爬虫虽然占资源,但是服务器抗得住,就怕服务器配置低网站可能就会卡了,那就得要查原因了。
      3年前
  2. 头像
    老达 Lv.10
    张老师越来越专业了!厉害!
    3年前
    1. 头像
      老张 博主
      @老达 我不是专业,只是遇到问题了,得要解决。
      3年前
      1. 头像
        老达 Lv.10
        @老张 随着解决的问题越来越多,可不就是越来越专业了嘛
        3年前
  3. 头像
    老麦 Lv.10
    专业。我不懂这方面的知识,问题解决后CPU使用率降了多少?
    3年前
    1. 头像
      老张 博主
      @老麦 把爬虫屏蔽之后,CPU占用降到5%以下了。
      3年前
  4. 头像
    下了思源笔记用了一下,发现跟markdown差不多
    3年前
  5. 头像
    老刘 Lv.10
    到期了赶紧换,?
    3年前
    1. 头像
      老张 博主
      @老刘 是准备换,但是目前还不知道换哪家的,你推荐推荐
      3年前
  6. 头像
    一般来说,一个访客就会增加一个fpm进程,所以这时候需要去检查是不是有人CC,访问是否正常
    3年前
    1. 头像
      老张 博主
      @你当向往阳 好的,这样解释就更加专业了。
      3年前
  7. 头像
    建议直接在CloudFlare里屏蔽这个UA!
    3年前
    1. 头像
      老张 博主
      @明月登楼 这个方便也不错,解决问题的办法还是多样的。
      3年前
  8. 头像
    推荐all in one security & firewall插件,里面的众多安全功能中的一个就是屏蔽虚假爬虫。
    3年前
    1. 头像
      老张 博主
      @林海草原 好的,安装一个试试看。
      3年前
  9. 头像
    美樂地 Lv.10
    这个是否是采集爬虫?
    3年前
  10. 头像
    Mr.Chou Lv.10
    不懂折腾VPS,一直都是用的虚拟机。 如遇到也只能请教管理员搞定,自己搞不来。
    3年前
    1. 头像
      老张 博主
      @Mr.Chou 其实用虚拟机也很安逸的,省心。
      3年前
  11. 头像
    小陆花 Lv.7
    我都不注意服务器的情况,哈哈哈
    3年前
    1. 头像
      老张 博主
      @小陆花 那你的服务器应该没有问题,感觉到速度慢了你就会去注意了。
      3年前
  12. 头像
    鸟叔 Lv.4
    这种爬虫还没遇到过
    3年前
    1. 头像
      老张 博主
      @鸟叔 应该遇到过,只不过你没有去在意罢了!
      3年前
  13. 头像
    龙笑天 Lv.4
    还有其他不少恶意爬虫,必须也得封禁了好 :mrgreen:
    3年前
    1. 头像
      老张 博主
      @龙笑天 是的,这个恶意爬虫无益,必须要禁。
      3年前
  14. 头像
    红叶
    那么如何分辨这些个爬虫呢?你说的方法是同时适用还是只是用一个
    3年前
    1. 头像
      老张 博主
      @红叶 看后台,有记录的,每秒都有GET,那一定是的了
      3年前