La tasa de éxito en un objetivo cae, empiezan a aparecer páginas de desafío, y el primer pensamiento razonable es que tus IPs han sido bloqueadas. A veces es exactamente eso. A menudo no lo es, y la diferencia importa, porque las respuestas son opuestas: una pide cambiar de dirección, la otra pide ralentizar y no cambiar nada más.
Luego está el punto estructural que replantea todo el problema. En un pool residencial rotativo no eres dueño de las direcciones, así que no hay ninguna dirección que rehabilitar. Recuperarse significa conseguir que se acepte la siguiente petición, y la única forma duradera de lograrlo es averiguar qué provocó que se rechazara la anterior.
Primero, confirma que realmente es un bloqueo
Cuatro cosas parecen similares desde fuera y significan cosas distintas.
Un límite de tasa es temporal y tiene que ver con el ritmo. Normalmente se anuncia con un 429, a veces con un Retry-After, y se resuelve solo si ralentizas. Responder rotando direcciones es el error clásico, porque mantener el mismo ritmo desde direcciones nuevas es el patrón que convierte una limitación en algo duradero.
Un bloqueo es un rechazo dirigido a la dirección o a la sesión: una página de desafío, un 403 persistente, un interstitial. Este es el caso en el que una identidad nueva realmente ayuda.
Un bloqueo suave es el peligroso, porque devuelve 200. Una página de desafío, un resultado genérico, un listado truncado o una redirección a una landing page pueden interpretarse como si fueran datos, y un pipeline que solo cuenta códigos de estado informará de buena salud mientras no recoge nada. Si no estás validando los cuerpos de las respuestas, no puedes distinguir esto del éxito en absoluto, según detecting blocked or fake content.
Tu propio error vale la pena descartarlo pronto. Un flag de nombre de usuario mal formado devuelve 407, un filtro demasiado estrecho devuelve 502, y un cambio en el parser puede hacer que páginas correctas parezcan vacías. Nada de eso es un bloqueo.
La prueba rápida: solicita la misma URL desde una ruta completamente distinta, idealmente un país diferente, y desde una conexión sin proxy. Si todo falla, el objetivo tiene problemas o la forma de tu petición está mal. Si solo falla tu ruta de producción, tienes un problema de identidad genuino.
Luego determina el alcance
El tamaño del problema indica cuán profunda es la causa.
Una sesión que falla mientras otras tienen éxito es rutina. Retira esa sesión, toma un identificador nuevo, y continúa. En un pool rotativo esto ocurre continuamente y no necesita más intervención que la retirada automática descrita en building a proxy manager.
Una ruta que se degrada, es decir, una combinación de objetivo y país cuya tasa de éxito ha caído mientras otras rutas se mantienen, apunta a algo relacionado con cómo abordas ese objetivo. Este es el caso común e interesante, y es lo que cubre el resto de este artículo.
Todas las rutas hacia un objetivo fallando significa que el objetivo ha cambiado sus defensas o está teniendo un incidente, y ninguna cantidad de rotación ayudará hasta que cambies cómo te muestras, no de dónde vienes.
Todos los objetivos fallando a la vez casi nunca es un bloqueo. Revisa tu propio despliegue, tus credenciales y tu red antes que cualquier otra cosa.
La salud a nivel de ruta es lo que hace que este diagnóstico sea rápido en lugar de especulativo, que es el argumento en monitoring proxy health at scale.
La respuesta inmediata
Cuando una ruta está genuinamente bloqueada, el instinto es presionar más fuerte. Haz lo contrario.
Deja de enviar a esa ruta. Seguir golpeando un objetivo que te está rechazando profundiza el problema, desperdicia ancho de banda en respuestas que no puedes usar, y extiende el daño porque cada nueva dirección que uses también acabará marcada. Un circuit breaker debería hacer esto automáticamente en lugar de esperar a una intervención humana.
No reintentes de forma agresiva. Una tormenta de reintentos contra un objetivo que bloquea es la forma más rápida de convertir un problema acotado en uno amplio, por lo que los reintentos necesitan presupuestos y clasificación en lugar de un bucle, según retry and backoff.
Espera. La mayoría de los bloqueos tienen un tiempo limitado. Un enfriamiento de decenas de minutos a unas pocas horas frecuentemente resuelve el estado por completo, y reanudar durante un enfriamiento reinicia el reloj.
Cambia de identidad, no solo de dirección. Si el bloqueo fue causado por cómo te muestras en lugar de por de dónde vienes, una nueva dirección por sí sola no cambia nada relevante.
Encontrar la causa real
Los bloqueos vienen de cuatro sitios, y vale la pena revisarlos en este orden porque es aproximadamente su frecuencia.
Ritmo. Demasiadas peticiones, con demasiada regularidad, desde muy pocas direcciones. Un espaciado perfectamente uniforme es en sí mismo una señal, ya que el tráfico humano es irregular y a ráfagas. La solución es una tasa por dirección más baja, jitter, y una distribución más amplia, según rate limiting and throttling y las matemáticas de distribución en how many proxy IPs you actually need.
Forma de la petición. Cabeceras que no coinciden con el navegador que dices ser, client hints ausentes, un Accept-Language que contradice tu país de salida, o una huella TLS que dice Python mientras tu User-Agent dice Chrome. Estas son contradicciones más que ausencias, y son fáciles de detectar, según setting the right headers y matching geo, timezone and locale.
Comportamiento. Golpear endpoints en un orden que nadie seguiría, no cargar nunca nada que un navegador cargaría, rotar identidad a mitad de flujo, o recorrer una secuencia de paginación a velocidad de máquina. Las secuencias que solo tienen sentido para un script tienden a ser reconocidas como scripts.
Calidad de la dirección. A veces realmente es el pool: direcciones con mala reputación atraen desafíos independientemente de tu comportamiento, y un pool supuestamente residencial diluido con espacio de datacenter se comporta exactamente como espacio de datacenter, según spotting datacenter IPs sold as residential.
Si una ruta está bloqueada y tanto tu ritmo como la forma de tu petición son defendibles, es entonces cuando la calidad de la dirección se convierte en la hipótesis principal en lugar de en la primera suposición.
Reanudar sin repetirlo
Volver mal es cómo un bloqueo resuelto se convierte en uno recurrente.
Empieza con un canario en lugar del trabajo completo: un puñado de peticiones a través de una sesión nueva, validadas correctamente, para confirmar que el objetivo te está aceptando de nuevo. Si pasan, aumenta gradualmente en lugar de reanudar a la tasa anterior, porque volver de inmediato al ritmo que causó el problema es en sí mismo un patrón reconocible. Cambia algo antes de reanudar, ya sea el ritmo, las cabeceras, la estrategia de sesión, o la geografía, ya que reanudar de forma idéntica es apostar a que el bloqueo fue aleatorio. Y vigila la tasa de éxito validada mientras aumentas, para descubrirlo en los primeros minutos y no a la mañana siguiente.
Si un objetivo demuestra ser persistentemente hostil después de todo esto, las opciones honestas son reducir la ambición sobre él, abordarlo de forma diferente, o aceptar que no vale la pena el coste, que es la lógica de escalado en scraping heavily protected sites.
La conclusión
Distingue primero los cuatro casos que se parecen entre sí, ya que un límite de tasa respondido con rotación empeora y un bloqueo suave contado como éxito es invisible. Establece el alcance, porque una sesión que falla es rutina, una ruta degradada es una causa que vale la pena encontrar, y que todo falle a la vez suele ser tu propio despliegue. Cuando una ruta está genuinamente bloqueada, detente en lugar de presionar, no reintentes contra ella, espera un enfriamiento, y cambia de identidad en lugar de solo de dirección. Luego encuentra la causa en orden de probabilidad: ritmo, forma de la petición, comportamiento, y solo después calidad del pool. Reanuda con un canario y un aumento gradual, habiendo cambiado algo, y vigila la tasa de éxito validada mientras lo haces. En un pool rotativo la dirección nunca fue el activo; el acceso lo es, y el acceso se gana pareciendo ordinario.
Tener un lugar limpio desde donde reanudar es lo que ofrecen los residential proxies, un gran pool de direcciones reales de tipo doméstico con segmentación por país y ciudad para que una sesión retirada sea reemplazada en lugar de reutilizada, con precios por GB que hacen que una recuperación disciplinada sea más barata que una obstinada.