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

Auth:老张       Date:2022/07/10       Cat:电脑网络       Word:共1187字

◷2022/07/10   👁浏览:2.4K   🗨27条评论
文章目录 「隐藏」
  1. 1、robots.txt方法
  2. 2、通过修改Nginx或其它WEB服务器规则禁止抓取

因为比较菜的原因,自从使用了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%。

简单记录遇到DataForSeoBot爬虫这件事! - 第1张图片

《简单记录遇到DataForSeoBot爬虫这件事!》留言数:27

发表留言