Los sitios de boletos de avión son uno de los recursos más agresivamente protegidos en Internet. Precios obsoletos, CAPTCHAs, bloqueos instantáneos de IP: todo esto convierte la recopilación de datos sobre tarifas en una verdadera prueba. Si estás construyendo un agregador, monitoreando precios para clientes o buscando rutas baratas de forma automática, sin proxies bien configurados no durarás ni una hora. En este artículo, analizaremos qué proxies funcionan, cómo configurarlos y por qué algunos tipos fallan donde otros tienen éxito.
Por qué los sitios de boletos de avión bloquean el scraping tan rápido
La industria de la aviación trabaja con precios dinámicos: las tarifas cambian decenas de veces al día dependiendo de la demanda, la hora del día, el historial del navegador e incluso la geolocalización del usuario. Es por eso que los grandes agregadores — Aviasales, Skyscanner, Kayak, Google Flights — invierten enormes recursos en protegerse contra solicitudes automáticas.
Esto es lo que sucede cuando intentas recopilar datos sin proxies o con IP de centros de datos baratos:
- Bloqueo instantáneo de IP — la mayoría de los sitios de boletos de avión mantienen bases de datos ASN (sistemas autónomos) de centros de datos. La solicitud desde una IP de hosting se bloquea incluso antes de cargar la página.
- CAPTCHAs y Cloudflare — incluso si la primera solicitud pasa, después de 5–10 solicitudes desde una misma dirección aparece un CAPTCHA o redirección para verificación.
- Precios falsos — algunos sitios (especialmente agregadores OTA) muestran intencionadamente tarifas infladas o desactualizadas a los bots para arruinar los datos de los competidores.
- Fingerprinting — además de la IP, los sistemas analizan los encabezados HTTP, el orden de las extensiones TLS, el comportamiento del mouse y la velocidad de desplazamiento.
- Limitación de tasa — restricción en el número de solicitudes desde una IP en un período de tiempo. Generalmente, el umbral es de 20–50 solicitudes por minuto, después de lo cual la conexión se interrumpe.
En resumen: sin proxies de calidad con IP reales no podrás recopilar datos actuales. Los proxies de centros de datos funcionan mal aquí: los sitios de boletos de avión los reconocen en los primeros segundos. Necesitas IP residenciales o móviles.
Qué tipos de proxies son adecuados para boletos de avión
Analicemos tres tipos principales de proxies y su aplicabilidad a la tarea de recopilar precios de boletos de avión:
| Tipo de proxy | Fuente de IP | Eludir la protección de los sitios de boletos de avión | Velocidad | Costo |
|---|---|---|---|---|
| Proxies residenciales | Proveedores domésticos (Rostelecom, Beeline, AT&T) | ⭐⭐⭐⭐⭐ Excelente | Promedio | Promedio |
| Proxies móviles | Redes de operadores (MTS, MegaFon, T-Mobile) | ⭐⭐⭐⭐⭐ Excelente | Alta | Alta |
| Proxies de centros de datos | Granjas de servidores (AWS, OVH, Hetzner) | ⭐⭐ Pobre | Muy alta | Baja |
La conclusión es obvia: para los sitios de boletos de avión, los proxies de centros de datos son prácticamente inútiles. Aviasales, Skyscanner y Google Flights identifican instantáneamente las IP de los proveedores de hosting y las bloquean o muestran un CAPTCHA. La verdadera elección está entre proxies residenciales y móviles, y cada uno tiene su nicho.
Proxies residenciales vs móviles: qué elegir para boletos de avión
Ambos tipos funcionan, pero en diferentes escenarios uno gana sobre el otro. Vamos a analizarlo específicamente.
Proxies residenciales — para la recopilación masiva de datos
Los proxies residenciales utilizan direcciones IP de usuarios domésticos reales de todo el mundo. Para el scraping de boletos de avión, esto significa:
- Posibilidad de elegir un país específico e incluso una ciudad — crítico si estás verificando precios para diferentes mercados (por ejemplo, precio desde Moscú vs desde Londres para el mismo vuelo).
- Gran pool de IP — miles de direcciones para rotar, lo que permite hacer cientos de solicitudes sin repetición.
- Buena relación calidad/precio en grandes volúmenes de tráfico.
- Soporte para modos de sesión y rotación — se puede mantener una sesión para simular un usuario real.
Escenario ideal: estás construyendo un agregador o un servicio de monitoreo y necesitas recopilar precios de 10–20 sitios al mismo tiempo, haciendo miles de solicitudes por hora. Los proxies residenciales con rotación son tu elección.
Proxies móviles — para los sitios más protegidos
Los proxies móviles funcionan a través de SIM reales de operadores de telefonía móvil. Su característica es que las direcciones IP provienen de redes móviles (3G/4G/5G), que los sitios de boletos de avión prácticamente nunca bloquean. La razón es simple: detrás de una IP móvil puede haber una red NAT, donde se encuentran miles de usuarios reales. Bloquear tal dirección significa perder miles de clientes reales.
- Máximo nivel de confianza por parte de los sistemas anti-bots.
- Riesgo prácticamente nulo de bloqueo incluso con scraping agresivo.
- Posibilidad de cambiar IP al cambiar de sesión (sin cambiar físicamente de dispositivo).
- Mayor costo — justificado para datos críticos o sitios complejos.
Escenario ideal: necesitas recopilar datos de un sitio complejo específico (por ejemplo, el sitio directo de una aerolínea con Cloudflare Enterprise), donde los proxies residenciales a veces generan CAPTCHAs. Los proxies móviles resolverán este problema.
💡 Consejo práctico
Para la mayoría de las tareas de monitoreo de precios de boletos de avión, la estrategia óptima es proxies residenciales para la recopilación masiva + proxies móviles para sitios complejos. Esto permite optimizar el presupuesto sin perder calidad de datos.
Características de la protección de Aviasales, Skyscanner, Google Flights y Kayak
Cada plataforma tiene sus propias características de protección. Comprender estas diferencias ayudará a configurar correctamente los proxies y el comportamiento de las solicitudes.
Aviasales
El agregador ruso utiliza una combinación de limitación de tasa y análisis de comportamiento. La restricción es de aproximadamente 30–40 solicitudes por minuto desde una IP. Al exceder este límite, se redirige a un CAPTCHA de Yandex SmartCaptcha. El sitio es relativamente leal a los proxies residenciales con IP rusas. Importante: los precios en Aviasales dependen de la geolocalización, por lo que para recopilar datos correctamente, utiliza proxies con IP del país para el que necesitas tarifas.
Skyscanner
Uno de los agregadores más protegidos. Utiliza Cloudflare con la configuración "Under Attack Mode" para IP sospechosas, así como su propio sistema anti-bots. Los proxies de centros de datos no funcionan aquí en absoluto. Los proxies residenciales pasan, pero requieren un ritmo lento de solicitudes (no más de 15–20 por minuto) y encabezados de navegador correctos. Para Skyscanner, se recomienda simular una sesión de navegador real a través de Playwright o Puppeteer con el proxy conectado.
Google Flights
Google utiliza sus propios algoritmos de detección de bots — reCAPTCHA v3 y análisis de patrones de comportamiento. El scraping directo de HTML no funciona aquí, ya que los datos se cargan a través de JavaScript. Se necesita un navegador sin cabeza (Playwright/Puppeteer) con proxies residenciales o móviles. Google también es sensible a la coincidencia de la geolocalización de la IP y el idioma del navegador: la discrepancia aumenta el riesgo de bloqueo.
Kayak
Agregador estadounidense con protección agresiva contra bots basada en PerimeterX (ahora HUMAN Security). Reconoce no solo IP, sino también el fingerprint de TLS, el orden de los encabezados HTTP/2 y el tiempo entre solicitudes. Para Kayak son obligatorios: proxies residenciales o móviles, simulación de un navegador real y retrasos aleatorios entre solicitudes (2–8 segundos).
| Plataforma | Sistema de protección | ¿Funcionan los proxies de centros de datos? | ¿Se necesita headless? | Tipo de proxy recomendado |
|---|---|---|---|---|
| Aviasales | Limitación de tasa + CAPTCHA de Yandex | ❌ No | Deseable | Residenciales (RU) |
| Skyscanner | Cloudflare + sistema propio | ❌ No | ✅ Sí | Residenciales / Móviles |
| Google Flights | reCAPTCHA v3 + análisis de comportamiento | ❌ No | ✅ Obligatorio | Residenciales / Móviles |
| Kayak | HUMAN Security (PerimeterX) | ❌ No | ✅ Sí | Móviles |
Cómo configurar proxies para recopilar datos sobre precios de boletos de avión
La configuración depende de la herramienta que estés utilizando. Veamos los escenarios más comunes.
Opción 1: Scrapers listos y herramientas sin código
Si no escribes código, utiliza soluciones listas: Octoparse, ParseHub, Apify. Todos ellos admiten la conexión de proxies externos. El procedimiento es el siguiente:
- Obtén los datos del proxy: host (IP o dominio), puerto, nombre de usuario, contraseña.
- Abre la configuración de tu herramienta → sección "Proxy" o "Network".
- Selecciona el tipo de protocolo: HTTPS (para la mayoría de las tareas) o SOCKS5 (si necesitas un trabajo de nivel más bajo).
- Pega los datos de conexión. El formato suele ser así:
login:password@host:port - Activa la rotación de proxies — la mayoría de las herramientas lo hacen automáticamente si hay un pool de direcciones.
- Realiza una solicitud de prueba al sitio objetivo y verifica que la IP haya cambiado.
Opción 2: Playwright / Puppeteer con proxies
Para sitios complejos (Google Flights, Skyscanner) se necesita un navegador sin cabeza. Así es como conectar proxies en Playwright:
const { chromium } = require('playwright');
const browser = await chromium.launch({
proxy: {
server: 'http://your-proxy-host:port',
username: 'your_login',
password: 'your_password'
}
});
const page = await browser.newPage();
await page.goto('https://www.skyscanner.com/...');
// Luego tu lógica de extracción de datos
await browser.close();
Para rotar proxies en cada nueva solicitud, crea un nuevo contexto de navegador con un nuevo proxy de tu pool. Esto simula el comportamiento de diferentes usuarios.
Opción 3: Python + requests/httpx
Para sitios sin renderizado JavaScript (o para trabajar con la API de los sitios de boletos de avión) se puede usar Python:
import requests
import random
proxies_pool = [
"http://login:[email protected]:port",
"http://login:[email protected]:port",
"http://login:[email protected]:port",
]
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Accept-Language": "es-ES,es;q=0.9",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
}
proxy = {"http": random.choice(proxies_pool), "https": random.choice(proxies_pool)}
response = requests.get(
"https://www.aviasales.ru/search/...",
proxies=proxy,
headers=headers,
timeout=15
)
print(response.status_code)
Rotación de IP y gestión de sesiones: reglas clave
La rotación correcta de IP es la mitad del éxito al hacer scraping de boletos de avión. Simplemente cambiar IP no es suficiente: hay que hacerlo de manera inteligente.
Regla 1: Una IP — una sesión
No utilices una IP para varias solicitudes paralelas. Los sistemas anti-bots ven una carga anormalmente alta desde una misma dirección y la bloquean. Cada hilo de solicitudes debe trabajar a través de un proxy separado.
Regla 2: Retrasos aleatorios entre solicitudes
Un usuario real no hace solicitudes a intervalos de tiempo iguales. Agrega un retraso aleatorio de 2 a 8 segundos entre solicitudes. Esto reduce la probabilidad de detección por parte del bot en 3–4 veces en comparación con solicitudes uniformes.
Regla 3: Coincidencia de geolocalización e idioma
Si utilizas proxies con IP alemana, en los encabezados del navegador debe haber un idioma alemán (Accept-Language: de-DE). La discrepancia es una señal clara para los sistemas anti-bots. Esto es especialmente importante para Google Flights.
Regla 4: Proxies de sesión para solicitudes de múltiples pasos
Algunos sitios de boletos de avión requieren varios pasos: búsqueda → selección de vuelo → visualización de detalles. Todos estos pasos deben realizarse desde una misma IP. Utiliza sesiones pegajosas (sticky sessions) — un modo en el que una IP se asigna a tu hilo durante un tiempo determinado (normalmente 10–30 minutos).
Regla 5: Monitoreo de la calidad de los proxies
Revisa regularmente qué IP de tu pool están bloqueadas. Excluye automáticamente las direcciones que devuelven código 403, 429 o redirección a CAPTCHA. La mayoría de los frameworks de scraping profesionales (Scrapy, Apify) hacen esto automáticamente.
Herramientas listas para el scraping de precios de boletos de avión
Si no quieres escribir un scraper desde cero, aquí tienes herramientas que ya admiten trabajar con proxies y son adecuadas para monitorear precios de vuelos:
Apify
Plataforma en la nube para web scraping. Tiene actores (bots) listos para Skyscanner y Google Flights. Admite la conexión de proxies externos a través de la configuración. Para conectar tus proxies: ve a la configuración del actor → pestaña "Proxy and browser configuration" → selecciona "Custom proxies" → pega la URL de tus proxies en el formato http://user:pass@host:port.
Octoparse
Scraper sin código con interfaz visual. Adecuado para quienes no escriben código. Admite la rotación de proxies: Configuración → Extracción en la nube → Configuración de proxy → Agregar proxy personalizado. Puedes agregar una lista de proxies, y Octoparse los alternará automáticamente.
Scrapy + Scrapy-Rotating-Proxies
Framework de Python para scraping profesional. El plugin scrapy-rotating-proxies rota automáticamente las IP de tu lista y excluye direcciones bloqueadas. Adecuado para tareas de alta carga — cientos de miles de solicitudes al día.
ParseHub
Otra herramienta sin código con soporte para renderizado JavaScript. Maneja bien Aviasales. Los proxies se conectan en la sección Configuración → Avanzado → Proxy.
⚠️ Importante sobre geotargeting de precios
Los sitios de boletos de avión muestran diferentes precios dependiendo del país del usuario. Esto no solo es una estrategia de marketing — es una realidad técnica. Si estás monitoreando precios para el mercado ruso, utiliza proxies con IP rusas. Para comparar precios entre mercados (por ejemplo, cuánto cuesta el mismo vuelo para un usuario de Alemania) se necesitan proxies con IP de los países correspondientes.
Lista de verificación: cómo no ser baneado al recopilar precios de boletos de avión
Guarda esta lista — te ayudará a evitar la mayoría de los problemas al configurar el scraping:
✅ Antes de iniciar el scraper
- Se han elegido proxies residenciales o móviles (no de centros de datos)
- La IP del proxy corresponde al mercado objetivo (país/ciudad)
- El idioma del navegador coincide con la geolocalización del proxy
- Se ha configurado la rotación de IP (mínimo 1 IP por hilo)
- Los encabezados User-Agent simulan un navegador real
- Para sitios JS se utiliza un navegador sin cabeza (Playwright/Puppeteer)
✅ Durante el funcionamiento del scraper
- Retrasos entre solicitudes: 2–8 segundos (aleatorios)
- No más de 20–30 solicitudes por minuto desde una IP
- Las sesiones de múltiples pasos utilizan una IP (sticky session)
- Códigos 403/429 excluyen automáticamente la IP del pool
- Registro de todos los errores para análisis
✅ Adicionalmente para sitios complejos
- Encabezados Referer y Accept correctos
- Simulación de movimiento del mouse y desplazamiento (para Playwright)
- Cambio aleatorio de User-Agent desde un pool real de navegadores
- Uso de cookies de sesión para simular visitas repetidas
Errores comunes que llevan a baneos
- Uso de proxies gratuitos. Sus IP han sido bloqueadas por todos los grandes sitios de boletos de avión. Recibirás un bloqueo en la primera solicitud.
- Frecuencia de solicitudes demasiado alta. Incluso con buenos proxies, 100 solicitudes por minuto desde una IP es un camino seguro hacia el baneo.
- El mismo User-Agent para todas las solicitudes. Los usuarios reales utilizan diferentes navegadores y versiones — tu scraper debe simular esto.
- Ignorar cookies. Muchos sitios rastrean la sesión a través de cookies. Si no guardas y no pasas cookies entre solicitudes, el comportamiento parece anómalo.
- Incongruencia entre geolocalización y contenido de la solicitud. Solicitar la versión en ruso del sitio a través de una IP estadounidense es una señal de alerta para los sistemas anti-bots.
Conclusión
La recopilación de datos sobre precios de boletos de avión es una de las tareas más técnicamente complejas en el scraping. Los sitios de boletos de avión invierten recursos significativos en protegerse contra bots, y eludir esto sin las herramientas adecuadas es imposible. Las principales conclusiones de este artículo son:
- Los proxies de centros de datos no funcionan para los sitios de boletos de avión — son bloqueados instantáneamente.
- Los proxies residenciales son la opción óptima para monitoreo masivo de precios desde diferentes mercados.
- Los proxies móviles son necesarios para las plataformas más protegidas (Kayak, Skyscanner) y datos críticos.
- La rotación de IP, los retrasos aleatorios y la simulación de un navegador real son condiciones obligatorias para un funcionamiento estable.
- La geolocalización del proxy debe coincidir con el mercado objetivo, de lo contrario, los precios serán incorrectos.
Si planeas construir un sistema de monitoreo de precios de boletos de avión o recopilar datos para un agregador, comienza con proxies residenciales — proporcionan el equilibrio necesario entre calidad de elusión de protección, cobertura geográfica y costo. Para los sitios más complejos con protección agresiva contra bots, considera proxies móviles — ofrecen el máximo nivel de confianza por parte de los sistemas anti-bots y prácticamente eliminan los bloqueos con la configuración adecuada.