Usando Scrapy para evitar Cloudflare: Tutorial 2024

Expert Network Defense Engineer
Una herramienta de rendimiento y seguridad online popular es Cloudflare. Su sofisticado sistema anti-bot emplea métodos de vanguardia para reconocer y detener el tráfico artificial, lo que provoca que aparezca el mensaje de error "ACCESO DENEGADO".
Esta publicación te enseñará cómo usar Python y el middleware de Cloudflare de Scrapy para sortear Cloudflare.
¿Qué es el middleware llamado Scrapy-Cloudflare?
Un programa llamado middleware de Cloudflare de Scrapy funciona en conjunto con la herramienta de raspado web Scrapy para encargarse de los problemas de Cloudflare en tu nombre. Para interceptar y modificar las solicitudes y las respuestas en diferentes puntos durante el proceso de raspado, sirve como intermediario entre tu araña Scrapy y los servidores de destino.
Usar el middleware en tu proyecto Scrapy aumentará la probabilidad de que evites la detección y los bloqueos.
¿Cómo funciona Scrapy-Cloudflare?
Una araña Scrapy crea consultas para las URL predeterminadas tan pronto como comienza a rastrear. Después de pasar por la tubería de middleware, Scrapy Cloudflare puede modificar estas solicitudes para imitar el comportamiento humano.
El objetivo principal de esta herramienta es sortear la página "Estoy en modo de ataque" de Cloudflare. El middleware de Cloudflare de Scrapy resuelve los desafíos de JavaScript, interceptando la respuesta del servidor de desafío de Cloudflare al recibir una solicitud.
Cómo usar el middleware de Cloudflare de Scrapy para sortear Cloudflare?
Este artículo te mostrará cómo usar Python y Scrapy para sortear Cloudflare. Debes agregar el middleware a tus ajustes DOWNLOADER_MIDDLEWARES
antes de enviar tus solicitudes.
1. Prepara el scrapy
Asegúrate de que Python esté instalado porque Scrapy es un framework de código abierto que requiere Python 3.6 o superior. A continuación, usa el siguiente comando en tu terminal para instalar Scrapy:
language
pip install scrapy
Luego, ejecuta el siguiente comando para iniciar un nuevo proyecto Scrapy. Pon el nombre de tu proyecto en lugar de test_project
.
language
scrapy startproject test_project
Abre el directorio de tu proyecto recién creado e inicia el primer spider.
language
cd test_project
scrapy genspider (NombreDelSpider) (URLObjetivo)
¿Estás cansado de los CAPTCHAs y los bloqueos continuos del web scraping?
Scrapeless: ¡la mejor solución de raspado online todo en uno disponible!
Utiliza nuestro formidable conjunto de herramientas para liberar todo el potencial de tu extracción de datos:
Mejor resolvedor de CAPTCHA
Resolución automatizada de CAPTCHAs complejos para garantizar un raspado continuo y sin problemas.
¡Pruébalo gratis!
2. Configura e incorpora el middleware para Scrapy Cloudflare
Para instalar el middleware Scrapy Cloudflare, debes navegar hasta el directorio raíz y ejecutar el siguiente comando:
language
pip install scrapy_cloudflare_middleware
Luego, abre el archivo settings.py
e incluye el middleware Scrapy Cloudflare. Tu archivo settings.py
debería verse así:
language
BOT_NAME = "test_project"
SPIDER_MODULES = ["test_project.spiders"]
NEWSPIDER_MODULE = "test_project.spiders"
DOWNLOADER_MIDDLEWARES = {
"test_project.middlewares.TestProjectDownloaderMiddleware": 543,
"scrapy_cloudflare_middleware.middlewares.CloudFlareMiddleware": 560,
}
Conclusión
El middleware Python Scrapy Cloudflare dependía de eludir los problemas fundamentales de JavaScript de Cloudflare. Pero el sistema de seguridad siempre está actualizando sus defensas, por lo que el middleware Scrapy Cloudflare ya no funciona.
Afortunadamente, existe una alternativa a Scrapy llamada Scrapeless que ofrece una forma probada y verdadera de evitar el bloqueo. ¡Únete hoy mismo para obtener una prueba gratuita y pruébalo!
En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.