Scrapy/2.11.2: el user-agent que está saturando las webs de varios clientes

En los últimos días hemos observado un comportamiento bastante inusual en varios de nuestros proyectos: un aumento masivo de solicitudes que no se corresponde ni con campañas activas ni con picos de tráfico esperados. Lo más preocupante es que algunas webs han empezado a mostrar errores 500 con frecuencia, incluso llegando a dejar de estar operativas por completo en momentos puntuales.
Este tipo de situaciones, cuando afectan a un solo sitio, suelen estar relacionadas con acciones concretas del usuario o el propio servidor. Pero cuando se repite en varios casos y todos muestran síntomas parecidos, algo no cuadra.
¿Quién está detrás de tantas visitas?
Revisando los registros de acceso de los servidores (los famosos access logs), detectamos que todos los sitios afectados compartían un patrón común: cientos o miles de peticiones provenientes de un user-agent específico llamado:
“Scrapy/2.11.2 (+https://scrapy.org)”
¿Qué es Scrapy y por qué debería importarte?
Scrapy es un framework de código abierto muy utilizado para hacer scraping o extracción automatizada de contenido desde sitios web. Es una herramienta legítima y potente, pero en las manos equivocadas puede convertirse en un problema serio para cualquier servidor.
El bot que nos está afectando no solo rastrea páginas, sino que lanza peticiones a alta velocidad, sin respetar límites ni pausas, consumiendo ancho de banda y capacidad de procesamiento como si no hubiera un mañana. En muchos casos, también descarga imágenes y otros recursos estáticos, multiplicando el impacto.
¿Por qué está ocurriendo esto ahora?
Es difícil saberlo con exactitud. Puede tratarse de alguien entrenando un modelo de IA, de un scraper automatizado recolectando datos para vender bases de contenido o incluso de un tercero investigando a la competencia. Lo que está claro es que lo están haciendo sin permiso, y que los recursos del hosting los estás pagando tú.
Cómo bloquear Scrapy y proteger tu web
Hay varias maneras de hacerlo:
- CloudFlare
Si tenemos CloudFlare activo en nuestra web, es la forma más rápida y efectiva. Basta con crear una nueva regla en el Firewall Rules para bloquear cualquier petición cuyo user-agent contenga la palabra “Scrapy”.
- Bloqueo en el fichero .htaccess
Si no tienes CloudFlare u otro WAF activo, es la medida más efectiva y rápida para bloquear de manera instantánea a bots. Normalmente todas las webs tienen este fichero de configuración. Edita el fichero .htaccess de tu web, ya sea por FTP, SSH o el método con el que edites ficheros y añade lo siguiente:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (Scrapy) [NC]
RewriteRule (.*) – [F,L]
Si te fijas, en la tercera linea aparece la palabra Scrapy, si queremos bloquear otros bots podemos concatenar los términos de los user-agent a bloquear en esta línea, separados por el caracter |, y bloquear a varios, por ejemplo:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (Bot1|Bot2|Bot3|Bot4) [NC]
RewriteRule (.*) – [F,L]
Con estos pasos deberías haber bloqueado el acceso de Scrapy a tu web y evitar que los recursos de tu hosting aumenten.
Este tipo de bots pueden parecer inofensivos, pero si no se gestionan bien, terminan afectando el rendimiento, la disponibilidad y los costes de tu web. No se trata solo de proteger tu contenido, sino también de mantener la estabilidad del sitio.
Si no sabes por dónde empezar o te parece demasiado técnico, en Amarillo Limón podemos ayudarte a bloquear este tipo de tráfico no deseado y a blindar tu web frente a este tipo de abusos.
¿Te ha pasado algo parecido? Cuéntanos y lo analizamos juntos.
Javier Pardo Muñoz es Ingeniero Informático, formado en la Universidad de Córdoba. Como analista y desarrollador full stack, lleva más de 15 años desarrollando proyectos web, siempre en busca de la innovación y defendiendo el software libre.
Su especialidad es el desarrollo de plataformas ecommerce, con una afinidad particular por Prestashop.
