Inicio > Cursos > Web Scraping con Python > Bypass de protecciones anti-bot
Web Scraping con PythonScraping AvanzadoLección 4 de 8

Bypass de protecciones anti-bot

Los sitios grandes (tiendas, redes sociales, buscadores) detectan a los programas que visitan miles de páginas muy rápido y los bloquean. Esto pasa porque un scraper se comporta distinto a una persona: sin pausas, siempre igual, sin cabeceras de navegador.

La mejor estrategia es ser un visitante educado: espacia las peticiones con pausas, identifícate con cabeceras reales (User-Agent), reutiliza la sesión y reintenta con calma cuando falla. Antes de empezar revisa el robots.txt y los términos del sitio: si no permiten extraer datos, no lo hagas o usa su API oficial.

Técnicas para evitar bloqueos:

import requests
import random
import time

# 1. Rotar User-Agents
USER_AGENTS = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36",
]

# 2. Rotar proxies
PROXIES = [
    {"http": "http://proxy1:8080"},
    {"http": "http://proxy2:8080"},
]

def scrape_safe(url):
    headers = {"User-Agent": random.choice(USER_AGENTS)}
    proxy = random.choice(PROXIES) if PROXIES else None
    
    # 3. Rate limiting - esperar entre requests
    time.sleep(random.uniform(1, 3))
    
    r = requests.get(url, headers=headers, proxies=proxy)
    return r

# 4. Usar sesiones para mantener cookies
session = requests.Session()
session.headers.update({"User-Agent": random.choice(USER_AGENTS)})

Tecnicas anti-deteccion:

• Rotar User-Agent en cada request • Rotar IP con proxies (residenciales son mejores) • Rate limiting (1-3 seg entre requests) • Usar sesiones con cookies • Headers realistas (Accept, Accept-Language, Referer) • No seguir patrones predecibles • Respetar robots.txt

OjoRespetar los Terms of Service. El scraping agresivo puede resultar en bloqueo de IP o acciones legales. Siempre usa rate limiting.
← Selenium: Scraping de sitios dinamicosScrapy: Proyectos profesionales →

Practica esta lección

Resuelve los ejercicios del curso de Web Scraping con Python en la app, gratis y con corrección automática.

Empezar a practicar