Guía de Scraping · 2 min de lectura

Cómo evitar prohibiciones de IP al hacer scraping

Las prohibiciones de IP generalmente provienen del comportamiento, no de la mala suerte: demasiadas solicitudes, encabezados descuidados y una huella digital que grita "bot". Aquí te mostramos cómo raspar dentro de las reglas y mantener tus solicitudes fluyendo.

Por qué los sitios prohíben IPs (y qué arreglar primero)

La mayoría de los bloqueos se activan por cómo solicitas, no por quién eres.

Tres señales hacen el trabajo pesado detrás de la mayoría de las prohibiciones:

  • Tasa & de volumen — demasiadas solicitudes por segundo desde una IP, o un ritmo perfectamente uniforme que ningún humano produciría.
  • Huella digital — orden de marco TLS/JA3, HTTP/2 y orden de encabezados que no coinciden con el navegador que afirmas ser.
  • Encabezados — un User-Agent faltante o por defecto, sin Accept-Language, un Referer obsoleto o ausente.

Antes de optimizar cualquiera de esto, lee el robots.txt y los Términos de Servicio del objetivo. Raspar datos públicos suele estar bien; golpear un endpoint, ignorar los límites de tasa publicados o recopilar datos personales puede romper los Términos de Servicio y, en algunas jurisdicciones, la ley. Respeta el crawl-delay, almacena en caché lo que obtienes y no intentes volver a un sitio hasta el agotamiento.

Una vez que estés raspando de manera responsable, tu principal palanca es cómo se asignan las IP:

EnfoqueMejor paraCompensación
Rotación (nueva IP por solicitud/lote)Páginas públicas de alto volumen, rastreos estilo búsquedaDistribuye la carga, pero rompe sesiones, carritos y inicios de sesión
Pegajoso / sesión (misma IP por un tiempo)Flujos de inicio de sesión, navegación de múltiples pasos, paginaciónParece humano, pero concentra la carga en una salida

s4m ejecuta proxies de centro de datos — SOCKS5 + HTTP autenticados, no residenciales. Son rápidos y baratos por GB, pero algunos sitios de consumo marcan los rangos de centros de datos más fácilmente, así que combínalos con encabezados limpios y límites de tasa honestos. ¿Necesitas una salida estable para inicios de sesión? Agrega una IP dedicada. ¿Prefieres un túnel completo? Consulta /vpn/, evalúa opciones en /compare/, o lee más guías.

Las palancas que te mantienen sin prohibiciones

Combina estos — ningún truco único supera a un buen sistema anti-bot.

Límite de tasa y jitter

Limita la concurrencia, añade retrasos aleatorios entre solicitudes y respeta el crawl-delay más cualquier 429 / Retry-After que el servidor envíe.

Rotar o permanecer fijo

Rota IPs para rastreos sin estado y de alto volumen; mantén una salida fija para flujos de múltiples pasos con sesión iniciada. Muchos trabajos combinan ambos.

Huella limpia

Envía encabezados de navegador realistas con un Accept-Language y Referer consistentes en lugar de los valores predeterminados de la biblioteca que te marcan como un bot.

Retrocede en caso de fallo

Usa retroceso exponencial con jitter en respuestas 429 y 5xx, y detente por completo cuando un sitio claramente señala que se detenga.

Control de uso por IP

Los límites de s4m son ajustables por el administrador por IP, cuenta y tipo de cuenta, así que un trabajo descontrolado no puede arruinar una salida compartida o tu presupuesto.

Sin registros, primero RAM

Proxies autenticados sobre TLS, sin registros por diseño. Tu lista de objetivos y tráfico permanecen tuyos, en tarjeta o criptomonedas.

Una configuración de scraping resistente a prohibiciones

Seis pasos desde la primera solicitud hasta un rastreador duradero.

Revisa robots.txt y ToS

Confirma que el punto final permite el acceso automatizado, anota cualquier retraso de rastreo y omite datos personales o claramente fuera de límites.

Establecer un presupuesto de solicitud

Elige un límite de concurrencia y un objetivo de solicitudes por segundo muy por debajo de lo que parecería abusivo, luego agrega un retraso aleatorio.

Envía encabezados realistas

Establezca un User-Agent, Accept y Accept-Language reales, y manténgalos consistentes durante la duración de una sesión.

Elige rotación vs pegajoso

Rota salidas para páginas sin estado; reutiliza una salida fija por sesión iniciada para que el estado no se rompa a mitad de flujo.

Agrega retroceso exponencial

En 429 / 503, espera Retry-After (o 2^n) más jitter y reintenta unas cuantas veces, luego renuncia con gracia.

Límite de uso por IP

Usa límites por IP de s4m para que un solo raspado no pueda agotar una salida, y monitorea el uso medido a medida que escalas.

Python: rastreador educado sobre proxies s4m

Sesión persistente, encabezados realistas, retroceso con jitter. Cambia USER:PASS por tus credenciales; nunca codifiques una IP real.

python
import random
import time
import requests

# s4m datacenter proxies (authenticated). Placeholder host only.
USER, PASS = "USER", "PASS"
HTTP  = f"http://{USER}:{PASS}@proxy.s4m.online:3128"
SOCKS = f"socks5://{USER}:{PASS}@proxy.s4m.online:1080"  # pip install requests[socks]

PROXIES = {"http": HTTP, "https": HTTP}

HEADERS = {
    "User-Agent": (
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
        "(KHTML, like Gecko) Chrome/125.0 Safari/537.36"
    ),
    "Accept": "text/html,application/xhtml+xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.9",
}


def polite_get(url, session, max_retries=5):
    for attempt in range(max_retries):
        r = session.get(url, headers=HEADERS, proxies=PROXIES, timeout=20)
        if r.status_code == 429 or r.status_code >= 500:
            wait = float(r.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait + random.uniform(0, 1))  # backoff + jitter
            continue
        r.raise_for_status()
        return r
    raise RuntimeError(f"gave up after {max_retries} tries: {url}")


def crawl(urls):
    # One Session = one sticky exit for this run; open a new one to rotate.
    with requests.Session() as s:
        for url in urls:
            resp = polite_get(url, s)
            yield url, resp.text
            time.sleep(random.uniform(1.5, 4.0))  # rate-limit + jitter


if __name__ == "__main__":
    for url, html in crawl(["https://example.com/page/1"]):
        print(url, len(html))
FAQ

Preguntas, respondidas

¿Son suficientes los proxies de centro de datos para evitar prohibiciones?

Ocultan tu IP de origen y distribuyen la carga, lo que previene muchos bloqueos basados en tasas. Pero los proxies s4m son de centro de datos, no residenciales, y algunos sitios de consumo marcan los rangos de centro de datos más fácilmente — así que combínalos con encabezados limpios, límites de tasa sensatos y sesiones persistentes donde el estado importa.

¿Debería usar proxies rotativos o persistentes?

Rota salidas para páginas públicas sin estado y de alto volumen para que ninguna IP única llame la atención. Mantén una sesión fija cuando estés conectado o navegando un flujo de múltiples pasos, ya que cambiar de IP a mitad de sesión parece sospechoso y puede romper carritos o autenticaciones. Muchos trabajos combinan ambos.

¿Es legal el web scraping?

Depende de tu jurisdicción, los datos y los términos del sitio. Los datos públicos y no personales suelen estar bien, pero los Términos de Servicio de una plataforma pueden prohibir el acceso automatizado incluso cuando es técnicamente posible, y los datos personales tienen reglas adicionales. Siempre verifica robots.txt y los Términos de Servicio, y realiza scraping de manera conservadora.

¿Cómo evito que un trabajo consuma toda mi cuota?

Los proxies de s4m son medidos y de pago por uso, con límites ajustables por el administrador por IP, por cuenta y por tipo de cuenta. Limita la concurrencia en tu rastreador y establece un límite de uso por IP para que un bucle descontrolado no agote tu presupuesto o una salida compartida.

¿Puedo obtener una IP estable para scraping con sesión iniciada?

Sí. El complemento de IP personal dedicada es una salida estática que puedes desvincular opcionalmente de tu identidad y vincular a un proxy o a la VPN: útil cuando un objetivo asocia una sesión a una dirección consistente.

Raspa de manera más inteligente, no más dura

Proxies de datacenter SOCKS5 + HTTP autenticados, de pago por uso, con límites de uso por IP y una IP dedicada opcional. Sin registros por diseño — y honestos en que estos son salidas de datacenter, no residenciales.

Las personas encontraron esta página buscando

Frases de búsqueda reales que esta página responde — los enlaces abren la página que las cubre en profundidad.