不明爬虫大量占用服务器资源,3类爬虫3种策略

搜索引擎的爬虫最好解决,效果最明显,在站长平台进行设置就可以了;链接分析的爬虫通常会遵守robots.txt协议;内容采集的爬虫最无耻,最难解决

不明爬虫大量占用服务器资源,3类爬虫3种策略

加载中

网页打开缓慢,偶尔还会出现502错误,毫无疑问服务器的压力太大了,无法及时有效的返回用户的请求,在排除不是服务器配置不足的可能性外,可能就是短时间内访问量大量攀升。可能性当然是很多的了,比如DDOS攻击就是网络攻击的常见手段,今天我们仅仅讨论由于爬虫大量抓取页面内容导致的服务器资源被大量占用,下面分三种情况进行讨论。

搜索引擎的爬虫

不明爬虫大量占用服务器资源,3类爬虫3种策略

各种蜘蛛

搜索引擎的爬虫都是经过全网实践后优化的产品,一般不会出现因为搜索引擎的爬虫大量抓取导致服务器资源被大量占用的情况,如果确实出现了这种情况,处理起来是很简单的。首先所有的搜索引擎爬虫都是举着身份牌进出网站的,只要根据爬虫的UA标识就可以判断是不是搜索引擎的爬虫,并且从UA标识中能够判断是哪一种搜索引擎,以及搜索引擎的哪一种爬虫。如果想进一步判断的话,可以根据爬虫的IP地址进行判断,一般来说搜索引擎是会在自己的官网中将爬虫的所有IP地址写出来,告诉站长遇到这些IP的访问请求不要拒绝,使得爬虫能够顺利的抓取页面的内容。

如果经过查看确实是搜索引擎的爬虫大量的占用了服务器的资源,可以采用下面的方法方法。每一个搜索引擎都会有一个站长平台,在站长平台中验证了自己的站点后,就可以在这个平台中看到网站的各种信息,其中有一个就是抓取的频率和抓取的耗时,从抓取的频率可以知道每天搜索引擎抓取了多少次,抓取的耗时可以判断页面打开的速度,很显然如果服务器反应缓慢,抓取耗时会很长。大部分的站长平台可以设置抓取的频率,如果觉得抓取频率太高可以调低。

上面的方法是最安全、最有效、副作用最小的方法,除了这些方法外还有一些方法,副作用就很大了。比如:制作蜘蛛陷阱,让蜘蛛进入到陷阱中,上当后蜘蛛就会跳出了,合理的设置蜘蛛陷阱,不要让真实的用户也进入到陷阱中;反馈大量的重复页面,多次抓取到相同的页面,蜘蛛也就会放弃抓取了,同样这些页面是针对搜索引擎蜘蛛的,不能让真实的用户收到。

链接分析的爬虫

不明爬虫大量占用服务器资源,3类爬虫3种策略

蜘蛛

什么是链接分析爬虫,指的就是那些不是搜索引擎的站点,这些站点往往提供一些与网站有关的信息,为了提供这些信息,免不了需要不断的对网站的内容进行抓取,专门学习过SEO的人应该知道几个这样的网站。这些网站虽然不是搜索引擎,但是在抓取这个环节和搜索引擎是很像的,往往也是和搜索引擎的蜘蛛一样是举着身份牌进出网站的,判断这些爬虫也是很简单的,这些爬虫的UA也和搜索引擎的爬虫一样是有身份特征的,找出这些特殊的UA,在网上搜一搜就可以知道是什么网站的爬虫了。

如果你觉得某个爬虫大量占用了服务器的资源,并且你觉得自己的网站没有必要被这个爬虫抓取,那么可以在robots.txt协议中直接将这个爬虫进行禁用。一般来说,这些爬虫都还是会遵守robots.txt协议的,遇到个别不听话的爬虫可以直接将IP地址加入到服务器的黑名单,使他无法访问你的网站,返回结果永远都是404。

内容采集的爬虫

不明爬虫大量占用服务器资源,3类爬虫3种策略

某内容采集软件

如果遇到内容采集的爬虫那就倒了大霉了,只能说你的网站内容质量太高了,被别人盯上了,别人觉得转载几篇文章都不过瘾,要进行自动化的大量采集。内容采集的爬虫显然就是在抄袭你网站的内容,对方自己很清楚是在做坏事,因此他们的爬虫通常会伪装为真实的用户,甚至伪装为搜索引擎的爬虫,正因为有不法分子会将自己伪装为搜索引擎的蜘蛛,因此搜索引擎才会在自己的官方网站将自己蜘蛛的IP公布出来,避免被误伤。

内容采集的爬虫可以分为两种类型,下面分别进行讨论。

1、服务端型。爬虫是通过服务器的脚本完成的,通常是站长的后台专门有内容采集的功能,进行相关设置后,输入单一网址或者多个网址,就可以将网页中的内容采集出来,并且添加到自己的网站中,很显然这种方法是最简单、最高效的,所以内容采集的爬虫最多的情况就是这一种。这一种爬虫通常IP地址是固定的,只要在自己的网站中将IP封禁就可以了,虽然对方站长可以修改服务器的IP地址,但是至少可以给对方造成麻烦,麻烦多了只要不是太过执着的站长,可能也就不会再盯着你的网站不放了。

2、客户端型。在站长的个人电脑上面安装一个计算机程序,利用这个计算机程序下载别人网站的内容,然后上传到自己的网站中。个人电脑的IP地址往往是可以改变的,重启一次光猫IP地址就可以改变,所以面对这种情况处理起来就比较麻烦。一个比较冒险的做法是禁用IP地址段,因为IP地址改变后,很多时候改变的只是最后一个地址,前面的是不变的,但是这样可能会造成同一段IP的其他用户也不能访问你的网站。

一般来说,搜索引擎的爬虫和链接分析的爬虫都不太可能会大量占用服务器的资源,因为这些爬虫都是正规的,都是经过长期、大量的实践后优化的结果,他们自己也不希望被站长们封禁。最可能占用服务器大量资源的爬虫是内容采集的爬虫,他们可不关心会不会占用你的服务器资源,他们考虑的就是花费最小的精力、最短的时间抓取到最多的内容。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月7日 16:07:53
下一篇 2024年5月7日 16:09:57

相关推荐

  • linux时间同分服务器,linux服务器时间与本地时间不一致

    如何使两台linux服务器时间同步 NTP时间服务器分为多层,从0层到4层,每层依次与上一次服务器同步,最高层的服务器则直接连接一个高精度的时钟设备,比如原子钟、GPS或者电波时等。 最方便的方法是,借助cron的计划任务,每天进行一次时间同步。 加入server 1916101这行,和node1机器同步。这样就OK了。看看时间,已经和node1同步了。往后…

    2024年5月18日
    3900
  • c语言服务器客户端,基于c语言的服务器框架

    C语言Socket服务器怎么给客户端发消息 1、多个客户端之间进行通讯,通过服务器转发的形式,现在客户端1请求向客户端2发送消息,先把消息发送到服务器,服务器怎么才能把消息转发到客户端2而不是转发给客户端3或者他自己。 2、使用多线程,一个维持接受逻辑,一个维持送信逻辑,即可完成同时接受及发送。客户端及服务器端均做上述设置。而你的做法是在一个线程中执行接受与…

    2024年5月18日
    3700
  • linux查看service服务器,linux查看service状态

    查看linux开启了哪些服务 查看客户机IP,看到已经是DHCP 服务器里面设置的域名,以及IP段,说明从DHCP服务器正常获取到IP地址;并且能够ping 通网络,说明能够正常上网。 service命令 service命令是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前…

    2024年5月18日
    3700
  • linux如何看服务器网线速度,linux服务器查看网络带宽

    linux下怎么检测网线连接状态 1、方法一:ethtool eth0 采用此命令可以查看到网卡相关的技术指标。(不一定所有网卡都支持此命令)ethtool -i eth1 加上 -i 参数查看网卡驱动。可以尝试其它参数查看网卡相关技术参数。 2、linux通过终端输入命令来查看网络连接情况:ifconfig,总体的网络配置参数 ping发送ECHO_REQ…

    2024年5月18日
    3400
  • java推送服务器,java数据接口推送数据

    java中使用websocket推送消息服务器端怎么才能主动推送 java消息推送websocket实现原理:在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” 。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocke…

    2024年5月17日
    3900
  • java爬虫小程序,java写爬虫程序

    微信小程序爬虫和网页爬虫的区别 微信小程序只有1M的大小,所以做出来的程序简单,便捷,只有最实用的内容,打开也很快。 第一条是运行环境的不同。 第二条是开发成本的不同。 第三条是获取系统级权限的不同。 第四条便是应用在生产环境的运行流畅度。 目录: PC网页爬虫 H5网页爬虫 微信小程序爬虫 手机APP爬虫 爬取乐刻运动手机APP的课表数据。Android和…

    2024年5月17日
    3800
  • linux查看samba,linux查看samba服务器ip地址

    怎样在Linux上访问samba共享文件? 我们这里要讲的Linux需要用到的工具就是Samba软件中的一种,samba-client。在尝试访问Windows共享之前,需要首先确认samba-client已经安装了。 用子配置文件:\x0d\x0a(1)在Samba服务器有一个共享目录smbtest(/test的自身权限为777)只希望用户tomyang可…

    2024年5月17日
    5100
  • linux查看服务器配置信息价,linux服务器怎么查看配置

    Linux系统下查看服务器硬件信息 《Linux就该这么学》给同学们介绍一下查看各种硬件设备的信息和配置详情的最常用的命令。lscpu lscpu命令能够查看 CPU 和处理单元的信息。该命令没有任何其他选项或者别的功能。 首先是对于CPU的说明 服务器CPU性能参数主要信息可以通过查看 /proc/cpuinfo 获得。 df -TH 硬盘信息 free …

    2024年5月17日
    3700
  • linux扫盘hba,linux扫盘策略

    在linux(RedHat)中如何通过命令来识别挂载的光纤(FC)存储设备 RedHat AS5系统的/sys/class/fc_host/host*/port_name 这个文件包含了所有已被系统发现的FC HBA卡的信息,使用查看命令查看该文件的内容即可看到FC HBA卡的信息。 首先使用“fdisk -l”命令查看外挂闪存的设备号,一般为/dev/sd…

    2024年5月17日
    4900
  • java获取服务器响应信息,java获取服务器域名

    java怎么从response获取header 把http自定义的头部信息放入到session中,在http的整个生命周期中,session是一直存在的,在后边需要的时候可以从session中取出来。 Header 应该在准备写出实际内容之前完成,因为 out.println() 或 JSP 中的 HTML/CSS/JS 都是 Body 的内容, Heade…

    2024年5月17日
    3200

发表回复

登录后才能评论



关注微信