Scrapear Amazon España se ha convertido, para bien o para mal, en una necesidad de miles de profesionales del marketing digital, vendedores y analistas de precios que necesitan datos al minuto: seguimiento de posiciones de productos, control de precios de la competencia, monitorización del Buy Box o análisis de reseñas. El problema es que Amazon emplea uno de los sistemas anti-bot más sofisticados del mundo. Sin una estrategia de proxies bien pensada, tu proyecto de scraping durará exactamente lo que tarde su sistema en detectar tu IP. A veces menos. En esta guía te mostramos, paso a paso y con código Python real, cómo construir un scraper resistente usando proxies dedicados con IP española.
¿Por qué Amazon bloquea los scrapers y qué papel juegan los proxies?
Amazon no bloquea scrapers por capricho. Protege su plataforma de la extracción masiva de datos que podría degradar la experiencia de sus usuarios o facilitar prácticas de competencia desleal. Su sistema de detección combina varias señales:
- Frecuencia de peticiones por IP: si una única IP lanza decenas de solicitudes por minuto desde un datacenter, salta la alerta. Inmediatamente.
- Huella del navegador (fingerprinting): cabeceras HTTP incoherentes, ausencia de JavaScript ejecutado o un User-Agent genérico como python-requests/2.31 son delatoras.
- Comportamiento no humano: patrones de navegación lineales, sin pausas aleatorias ni interacciones simuladas. Un humano se detiene. Un bot, no.
- Reputación de la IP: Amazon mantiene listas de rangos IP de datacenters conocidos y las somete a escrutinio extra.
La primera línea de defensa suele ser un bloqueo temporal (error 503 o captcha), pero la consecuencia a largo plazo es el baneo permanente de la IP. Y aquí es donde los proxies cambian las reglas del juego: al repartir tus peticiones entre varias IPs dedicadas y rotarlas con criterio, cada dirección mantiene un volumen de tráfico que simula un usuario normal. Hay un detalle más, y es importante: usar proxies con localización en España es crítico para scrapear Amazon España. Los resultados de búsqueda, los precios y la disponibilidad varían según la geolocalización de la IP, y una IP de otro país puede devolverte datos contaminados o incluso una redirección a otro marketplace.
Consejo práctico: aunque uses proxies, respeta un delay aleatorio de 2 a 8 segundos entre peticiones y rota el User-Agent en cada solicitud. La combinación de IP dedicada + comportamiento humano simulado reduce el ratio de captchas por debajo del 1%.
Proxies dedicados vs. compartidos: cuál necesitas para scrapear Amazon España
No todos los proxies sirven para este proyecto, y elegir mal aquí es probablemente el error más común entre quien empieza. Veamos las diferencias.
Proxies compartidos
Una misma IP es utilizada a la vez por decenas o cientos de usuarios. Son económicos, sí. Pero heredas la reputación de los demás: si otro usuario ha scrapeado agresivamente con esa IP, tú empezarás tu sesión con una IP ya marcada por Amazon. Para scraping intensivo, una receta para el fracaso.
Proxies dedicados
La IP es exclusivamente tuya durante toda la vida del proxy. Esto aporta tres ventajas decisivas de cara a Amazon:
- Reputación controlada: el historial de la IP depende solo de tu comportamiento, lo que te permite construir confianza poco a poco (el llamado warming).
- Estabilidad de sesión: puedes mantener la misma IP durante todo un flujo de scraping (búsqueda, ficha de producto, paginación), algo que Amazon premia con menos captchas.
- Anonimato garantizado: al no compartirse, no hay fugas de tráfico ni cuellos de botella ajenos.
Para scrapear Amazon España de forma sostenible, la recomendación es inequívoca: proxies dedicados HTTP/s o SOCKSv5 con IPs españolas, como los que ofrece ProxySEO, que además incluyen tráfico ilimitado. Un factor crítico, porque un catálogo completo de Amazon puede suponer millones de solicitudes. El soporte SOCKSv5 resulta especialmente útil si tu scraper necesita manejar tráfico no HTTP o si trabajas con herramientas que no soportan autenticación HTTP básica.
Preparando el entorno: Python, Scrapy y configuración de proxies HTTP/SOCKSv5
Con la estrategia clara, toca montar el entorno de trabajo. Necesitarás Python 3.10 o superior y estas librerías:
- Scrapy: el framework de scraping más potente del ecosistema Python, con middlewares de proxy nativos.
- requests (opcional): para scripts rápidos y pruebas puntuales de conectividad.
- PySocks: imprescindible si vas a usar proxies SOCKSv5.
Instala todo con un solo comando:
pip install scrapy requests pysocks
La configuración del proxy en Scrapy se hace en el archivo settings.py mediante el middleware HttpProxyMiddleware, que ya viene activado por defecto. Lo habitual es definir el proxy por petición a través de la meta del request:
yield scrapy.Request(
url,
meta={"proxy": "http://usuario:password@es.proxyseo.es:8080"}
)
Si tu proveedor entrega proxies SOCKSv5, la sintaxis cambia ligeramente: socks5://usuario:password@host:puerto. Y es obligatorio tener PySocks instalado para que Scrapy resuelva la conexión correctamente. Ojo con esto, porque es un fallo típico que te puede tener una tarde entera dando vueltas.
Antes de escribir una sola línea de lógica de extracción, verifica que tu proxy funciona y está geolocalizado en España con esta prueba rápida usando requests:
import requests
proxies = {"http": "http://usuario:password@es.proxyseo.es:8080",
"https": "http://usuario:password@es.proxyseo.es:8080"}
r = requests.get("https://api.ipify.org?format=json", proxies=proxies)
print(r.json()) # Debe devolver la IP del proxy, no la tuya
Si la IP devuelta coincide con la de tu proxy dedicado, ya tienes la base lista. En la siguiente parte de esta guía construiremos la araña de Scrapy completa, con rotación de User-Agents, gestión de delays y extracción de datos de producto.
Ejemplo práctico: extracción de precios y fichas de producto con Scrapy
Con el proxy ya verificado, toca montar la araña completa. El objetivo es sencillo: título, precio, disponibilidad y valoración de las fichas de producto de Amazon España.
Primero definimos el spider con soporte de proxy integrado:
- mybot/settings.py: añade DOWNLOADER_MIDDLEWARES apuntando a tu middleware de rotación y define HTTP_PROXY con la IP dedicada de ProxySEO en formato http://usuario:contraseña@ip:puerto.
- spiders/amazon_es.py: crea la clase AmazonESSpider con start_urls apuntando a la URL de búsqueda (por ejemplo, https://www.amazon.es/s?k=cascos+gaming).
- En el método parse(), usa selectores CSS sobre div[data-component-type=»s-search-result»] para paginar con follow=True y lanzar el parseo de fichas.
- En parse_product(), extrae los campos con XPath: título (#productTitle), precio (.a-price .a-offscreen) y rating (#acrPopover).
Y aquí va un truco que a más de uno le ahorra horas. Amazon a veces mete los precios en JSON embebido, no en el DOM. Si el selector de precio falla, busca el bloque twister-plus-price-data-price dentro del HTML. Para exportar los resultados, CSV o JSON con scrapy crawl amazon_es -O productos.json.
No olvides activar AUTOTHROTTLE_ENABLED = True y limitar CONCURRENT_REQUESTS a 2-4 por IP. Si trabajas con los proxies SOCKSv5 de ProxySEO, configura además DOWNLOAD_HANDLERS si prefieres SOCKS sobre HTTP.
Buenas prácticas anti-bloqueo: rotación, delays y fingerprinting
Amazon detecta bots combinando velocidad, patrones de navegación y huella del navegador. ¿Qué significa esto en la práctica? Pues que hay varias defensas que conviene tener todas:
- Delays aleatorios: nada de intervalos fijos, se nota muchísimo. Usa DOWNLOAD_DELAY entre 2 y 6 segundos con RANDOMIZE_DOWNLOAD_DELAY = True.
- Rotación de User-Agents: crea un middleware que elija un UA real de una lista de 15-20 navegadores actualizados en cada petición.
- Sesiones coherentes: mantén el mismo par IP+UA durante una sesión de navegación. Rotar la IP en cada request con un UA fijo es, literalmente, ondear una bandera de bot.
- Cabeceras completas: incluye Accept-Language: es-ES,es;q=0.9 y un Accept-Encoding realista. Un request sin cabeceras correctas destapa cualquier proxy.
- Fingerprinting TLS: Amazon analiza la huella JA3. Para scraping intensivo, considera curl_cffi o tls_client como handlers de descarga, que imitan el handshake de Chrome.
Con proxies dedicados de ProxySEO esta parte se simplifica. Al ser una IP exclusiva tuya no heredas penalizaciones de otros usuarios, cosa que en los pools compartidos pasa más de lo que los proveedores admiten. Y el tráfico ilimitado te deja recalar sin miedo a facturas sorpresa a fin de mes.
Conclusión: scraping sostenible y a escala con IPs españolas dedicadas
Scrapear Amazon España de forma fiable no va de trucos aislados. Va de infraestructura correcta: una IP española dedicada con geolocalización real, middlewares que humanizan el tráfico y una configuración conservadora de concurrencia. Los proxies dedicados de ProxySEO, con soporte HTTP/s y SOCKSv5, anonimato garantizado y tráfico ilimitado, cubren la capa de red; Scrapy con autothrottle y rotación de fingerprint cubre la de comportamiento.
Hay un detalle más. Si tu pipeline va a alimentar a agentes IA, la integración vía MCP permite que el agente consulte los proxies y los datos extraídos de forma programática, cerrando el círculo entre recolección y decisión automatizada.
Mi consejo: empieza pequeño. Monitoriza tus tasas de error 503 y de captcha, y escala despacio. Con paciencia y una infraestructura seria, el scraping aguanta meses. Sin ellas, no dura ni una semana.