时间来到2025年,这也是AI大爆发的一年,同时大数据快速发展,而这些均依赖于网络上的大量数据,然后通过整理分析、机器学习,AI才能向用户展示惊人的逻辑推理能力,大数据才能更精准地得到各种分析结果。而要实现这一效果,需要通过大量搜集网络上的各类资料,其主要办法就是对网站进行爬行抓取。然而,这也带来了一个新问题,海量的抓取使各网站的流量剧增,有些配置较低的网站甚至在这种高烈度的访问下造成流量超标、服务器超负荷、带宽占满,严重影响了正常的网站服务,有的甚至打不开网站。
在网站中爬行抓取的机制,我们称之为“蜘蛛”。正常情况下,每一个蜘蛛爬行网站都会带有自己的身份标识,例如百度的蜘蛛叫Baiduspider,谷歌蜘蛛叫Googlebot,我们的服务器可以很容易地识别这些蜘蛛的身份。并且,这些蜘蛛都遵循国际规则,例如能识别robots.txt中定义的规则,根据规则抓取被允许抓取的内容。并且,这些蜘蛛会根据网站的负荷情况,适当改变抓取频率,使之不至于影响到网站的正常运行。
然而,有些蜘蛛却并不遵循规则,不但绕开robots.txt的定义,为了获取想要的数据,不标识蜘蛛身份,毫无底线且不限频率地肆意抓取网站中的内容,严重影响了网站正常用户的访问,我们称之为“垃圾蜘蛛”应予以严厉的谴责,并敦促有关机构进行管理并采取政策上的措施加以改善。正是因为这些垃圾蜘蛛,许许多多的网站深受其害,艺琼网络的部分客户网站就长期遭受这种侵害。
为了维护网站方面的利益,经过长期的分析、实践,整理了一些粗浅的解决方案,希望能对垃圾蜘蛛占用大量流量的问题起到一定的改善作用。
一般会在访问网页的同时,还会访问网页中的css、js等文件,若大多是这种情况,表明你的网站访问量确实很高,是时候提升服务器的配置,以适应未来更高的访问需求。
如果大量的不同IP访问,且几乎每个IP都只访问一个页面,并且没有蜘蛛身份标识,则可能是被流量攻击了,也有可能是垃圾蜘蛛的访问。
排除百度、谷歌等正常蜘蛛后,分析蜘蛛名称及其访问频率,判断是否为垃圾蜘蛛。
只能提升服务器配置,提升服务器的并发处理能力,以适应高并发的正常访问需求,或者流量攻击。
通过设置网站根目录的robots.txt文件,设定禁止哪些蜘蛛访问,例如如下代码:
User-agent: SemrushBot
Disallow: /
User-agent: Barkrowler
Disallow: /
其作用是禁止名为SemrushBot和Barkrowler的蜘蛛爬行网站中的所有页面,同理,你也可以用同样的方法禁止其他任何你不需要的蜘蛛访问。也可以通过站点配置文件来解决,以Apache为例,在网站根目录的.htaccess文件中加入下列代码,可起到同样的效果。
RewriteCond %{HTTP_USER_AGENT} (^$|SemrushBot|Barkrowler) [NC]
RewriteRule ^(.*)$ - [F]
然而,这仅对遵循规则且标识身份的蜘蛛有效,对于不遵循规则的蜘蛛,我们无法阻止,仍然需要通过提升服务器配置来解决。
这类蜘蛛的行径非常恶劣,完全不顾网站的情况,忽略robots.txt文件配置,对网站进行高频率海量的爬行抓取,严重情况下导致服务器流量耗尽关停或网络阻塞影响正常用户访问。对于这种蜘蛛,确实没有有效的办法加以阻止,因为它没有标明身份,不断切换IP访问,实际上就是伪装成正常的访问者垃圾蜘蛛。唯有提升服务器配置解决问题。
参考资料:《常见蜘蛛一览表》
建议:可根据业务需要选择禁止部分不需要的蜘蛛,减少蜘蛛对流量的消耗。
警告: 不当的禁止蜘蛛可能影响网站的SEO性能,建议咨询您的网站建设公司合理处理。