Cómo evitar el CAPTCHA de Amazon: Guía 2025

Aprenda tres métodos probados para evitar Amazon CAPTCHA y optimizar su flujo de trabajo de web scraping.
11 min de lectura
How to Bypass Amazon CAPTCHA blog image

En esta entrada del blog, verá:

  • Qué es y cómo funciona Amazon CAPTCHA
  • Tres enfoques diferentes para evitarlo
  • Una comparación completa de estas técnicas

Empecemos.

Amazon CAPTCHA: Introducción

Antes de aprender cómo evitarlo, entienda qué es Amazon CAPTCHA y por qué aparece en determinadas páginas.

Definición

Amazon CAPTCHA es una medida anti-bot que aparece al visitar las páginas de Amazon con un script de automatización o al realizar interacciones automatizadas en el sitio. En la mayoría de los casos, aparece como un simple CAPTCHA basado en texto, que requiere que introduzcas los caracteres que aparecen en pantalla:

Un ejemplo de CAPTCHA de Amazon

El desafío anterior puede parecer simple, pero es suficiente para detener la mayoría de los scripts de raspado web de comercio electrónico. La buena noticia es que no es el CAPTCHA más avanzado del mercado, y sin duda hay maneras de eludirlo.

Cuando se muestra

Aquí está la parte complicada… Amazon CAPTCHA no aparece bajo un conjunto fijo de escenarios o configuraciones de navegador. A veces, es posible que lo encuentres, y otras veces, no.

Basándonos en nuestras pruebas, los escenarios más comunes que activan el CAPTCHA cuando se utilizan herramientas de automatización como Selenium, Puppeteer y Playwright incluyen:

  1. Visitar directamente una página de producto de Amazon
  2. Realizar una búsqueda automatizada
  3. Intentar conectarse o registrarse

Aún así, es importante tener en cuenta que ninguna de estas acciones garantiza un desafío CAPTCHA. Aunque pueda pensar que este comportamiento es bueno, ¡en realidad no lo es! Usted puede ser engañado pensando que su raspador de Amazon está funcionando perfectamente – sólo que de repente comienza a ser bloqueado sin razón aparente.

Por ejemplo, un simple script de Selenium como el siguiente puede funcionar sin problemas, o puede activar un CAPTCHA:

# pip install selenium

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

# Configure the browser to launch in headless mode
options = Options()
options.add_argument("--headless")
# Initialize the WebDriver to control Chrome
driver = webdriver.Chrome(service=Service(),options=options)

# Connect to the target page (Amazon Kindle product page)
driver.get("https://www.amazon.com/Amazon-Kindle/dp/B0CNV9F72P")

# Take a screenshot of the entire page
driver.save_screenshot("product-page.png")

# Additional scraping logic...

# Release the driver resources
driver.quit()

Si se ejecuta correctamente, el script producirá esta captura de pantalla:

Captura de pantalla de la página de producto de Amazon

En cambio, en las ejecuciones fallidas, producirá:

Captura de pantalla de la página CAPTCHA de Amazon

La naturaleza impredecible de la aparición del CAPTCHA hace que sea un reto desarrollar una lógica de automatización fiable que active el desafío de forma consistente. Por ello, también es difícil estudiarlo. Por suerte, eso no significa que saltarse el CAPTCHA sea imposible.

Es hora de aprender.

Cómo evitar el CAPTCHA de Amazon: 3 técnicas

En este capítulo, explorará tres enfoques diferentes para abordar el CAPTCHA de Amazon:

  • Utilizar un navegador oculto
  • Utilizar la IA
  • Utilizar un solucionador de CAPTCHA

Para otros métodos, consulte nuestra guía sobre cómo evitar CAPTCHAs en Python.

Sumerjámonos.

Método nº 1: Utilizar un navegador oculto

¿Cuántas veces ha visto un CAPTCHA mientras navegaba por Amazon? Lo más probable es que rara vez lo haya visto, o que no lo haya visto nunca. Esto sugiere que los usuarios humanos reales no se ven afectados significativamente por los sistemas anti-bot y anti-scraping de Amazon.

Como en la mayoría de los casos, es mejor prevenir que mitigar. El objetivo no es intentar resolver el CAPTCHA, sino evitar que se active. ¿Cómo? Configurando la lógica de automatización del navegador para que imite lo más posible a un usuario humano real al interactuar con las páginas web de Amazon.

El objetivo puede lograrse utilizando navegadores con complementos de ocultación que modifiquen la configuración del navegador relacionada con la automatización para evitar filtraciones y reducir la detección de bots. Algunas herramientas populares para este fin son:

  • SeleniumBase: Un marco de automatización basado en Python con capacidades de ocultación integradas para eludir la detección de bots en Selenium.
  • Playwright Stealth: Un plugin de Playwright Extra que modifica la configuración del navegador para evitar ser detectado por los sistemas anti-bot.
  • Puppeteer Stealth: Un plugin de Puppeteer Extra que modifica las huellas dactilares del navegador para que parezcan más humanas.
  • chromedriver-no-detectado: Un Selenium WebDriver parcheado que ayuda a eludir la detección por parte de mecanismos anti-bot.

En esta sección, nos centraremos en SeleniumBase, ya que funciona perfectamente con Python. De todas formas, puedes utilizar fácilmente cualquiera de las otras opciones.

Para instalar SeleniumBase, ejecute el siguiente comando:

pip install seleniumbase

A continuación, puede modificar el script Selenium anterior para utilizar SeleniumBase como se indica a continuación:

from seleniumbase import Driver  

# Initialize the SeleniumBase driver
driver = Driver(uc=True)  # Enables stealth mode  

# Connect to the target Amazon page  
driver.get("https://www.amazon.com/Amazon-Kindle/dp/B0CNV9F72P")  

# Take a screenshot of the entire page  
driver.save_screenshot("product-page.png")  

# Additional scraping logic...  

# Release the driver resources  
driver.quit()

¡Genial! Las posibilidades de encontrar CAPTCHAs de Amazon se han reducido significativamente.

Enfoque nº 2: Solucionarlo con IA

Si se observa una colección de CAPTCHAs de Amazon, es difícil creer que la IA no sea capaz de resolverlos:

Un conjunto de retos CAPTCHA de Amazon

Después de todo, los desafíos básicos de reconocimiento de texto parecen anticuados en comparación con los CAPTCHA más avanzados y complejos que se encuentran en el mercado actual:

Un CAPTCHA avanzado actual

Por lo tanto, la idea aquí es:

  1. Haga una captura de pantalla de la página CAPTCHA
  2. Alimentar a ChatGPT o cualquier otro modelo de IA
  3. Obtén la respuesta de la IA y utilízala para resolver el CAPTCHA

Si inspeccionas el HTML del CAPTCHA, verás que el campo de entrada de texto se puede seleccionar con el selector CSS .a-span12. Dada esa información, podemos eludir el CAPTCHA de Amazon utilizando IA con el siguiente enfoque:

import os
import time
import base64
from openai import OpenAI
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode("utf-8")

def solve_amazon_captcha(driver, timeout=5):
    client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
    captcha_elements = driver.find_elements(By.CSS_SELECTOR, "a-span12")

    # If the CAPTCHA has been detected
    if len(captcha_elements) > 0:
        print("CAPTCHA detected!")

        # Take a screenshot of the CAPTCHA page
        driver.maximize_window()
        screenshot_path = "captcha.png"
        driver.save_screenshot(screenshot_path)

        print("Attempting to solve the CAPTCHA...")

        # Feed the screenshot to the AI for CAPTCHA solving
        base64_image = encode_image(screenshot_path)
        response = client.chat.completions.create(
            model="gpt-4o-mini",
            messages=[
                {
                    "role": "user",
                    "content": [
                        {"type": "text", "text": "Extract the text from this CAPTCHA. Return only the text."},
                        {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{base64_image}"}},
                    ],
                }
            ],
        )

        # Get the CAPTCHA text
        captcha_text = response.choices[0].message.content.strip()

        # Select teh CAPTCHA input text and fill it out
        # with the AI generated text
        input_element = captcha_elements[0]
        input_element.send_keys(captcha_text, Keys.ENTER)

        print("CAPTCHA solved!")
        print(f"Wait up to {timeout} seconds for page reload...")

        # Wait up to 5 seconds for a page reload
        time.sleep(timeout)

Para que la función solve_amazon_captcha() funcione, instale la dependencia openai:

pip install openai

Además, establezca su clave de API OpenAI como una variable de entorno global llamada OPENAI_API_KEY.

Así es como puede llamar a la función de resolución de CAPTCHA impulsada por IA:

driver = webdriver.Chrome()
driver.get("https://www.amazon.com/Amazon-Kindle/dp/B0CNV9F72P")

solve_amazon_captcha(driver)

driver.quit()

Ahora, tu script resolverá el CAPTCHA como lo haría un usuario humano.

Para un enfoque similar utilizando Gemini, echa un vistazo al proyecto Genaptcha en GitHub.

Método nº 3: Integrar un solucionador de CAPTCHA

Para lograr la máxima precisión y, al mismo tiempo, minimizar las llamadas a los modelos de IA -que pueden resultar costosas debido al consumo de tokens por las imágenes-, conviene combinar las dos soluciones mencionadas anteriormente:

  1. Reducir la frecuencia de CAPTCHAs en Amazon
  2. Resuélvelos sólo cuando aparezcan

Sin embargo, el enfoque híbrido conlleva sus propios retos:

  1. Dependencias adicionales: Necesitas una herramienta de automatización del navegador sigiloso, el cliente OpenAI y las configuraciones de entorno adecuadas.
  2. Inestabilidad: Los plugins de ocultación pueden funcionar hoy pero dejar de ser efectivos mañana debido a la batalla continua entre los desarrolladores de bots y las soluciones anti-bot. Por este motivo, es esencial mantener las bibliotecas actualizadas. Además, los modelos LLM a veces producen resultados inconsistentes, lo que puede introducir un problema adicional. Además, la IA tiene dificultades para resolver CAPTCHAs más complejos, que es probable que Amazon adopte en un futuro próximo.
  3. Lógica de reintento necesaria: Para asegurarse de que el CAPTCHA se resuelve realmente, necesita implementar un mecanismo de reintento en caso de que la IA falle.
  4. Lentitud: La IA introduce retrasos significativos en el procesamiento. Además, esperar a que el CAPTCHA aparezca y desaparezca ralentiza aún más el proceso de automatización/raspado.
  5. Sobrecarga de mantenimiento: Usted es responsable de garantizar que todas las tecnologías elegidas estén correctamente configuradas y sigan funcionando con el paso del tiempo.

¿No sería más fácil utilizar un solucionador de CAPTCHA? Por supuesto, especialmente si esta funcionalidad está integrada directamente en el navegador headless controlado por la herramienta de automatización del navegador de su elección.

Esa es exactamente la experiencia que ofrece Scraping Browser. Se trata de un navegador basado en la nube optimizado para el scraping web, diseñado para ofrecer el máximo rendimiento y eliminar la necesidad de gestionar la infraestructura. Este navegador especializado cuenta con rotación de IP, reintentos automáticos, mecanismos avanzados para evitar robots y, por supuesto, capacidad para resolver CAPTCHA.

Vea cómo integrarlo fácilmente con Selenium, Playwright y Puppeteer como cualquier otro navegador en nuestros documentos.

La mejor forma de descifrar el CAPTCHA de Amazon

Esta es una recapitulación de las técnicas CAPTCHA de Amazon exploradas en este artículo:

Acérquese a Saltar CAPTCHA Resolución de CAPTCHA Mantenimiento Lógica manual Coste
Navegador oculto ✔️ Requerido Requerido Gratis
Solución AI ✔️ Requerido Requerido 💲
Solucionador CAPTCHA ✔️ ✔️ No es necesario, ya que la solución se ejecuta en la nube No es necesario, ya que todas las funciones están integradas en la herramienta 💲

A continuación se resumen sus puntos fuertes y débiles.

Método nº 1: Utilizar un navegador oculto

👍 Pros:

  • Gratuito y de código abierto

👎 Cons:

  • Evasión de CAPTCHA, no elusión
  • Depende de navegadores parcheados, que pueden ser inestables
  • Requiere un mantenimiento continuo

Enfoque nº 2: Solucionarlo con IA

👍 Pros:

  • Puede resolver con eficacia CAPTCHAs basados en texto

👎 Cons:

  • Resultados incoherentes e ineficaces contra CAPTCHAs complejos
  • Detectar el CAPTCHA en la página puede ser complicado
  • Las llamadas de IA tienen un coste

Método nº 3: Integrar un solucionador de CAPTCHA

👍 Pros:

  • Muy eficaz
  • Funciona a la perfección con cualquier herramienta de automatización del navegador o cliente HTTP
  • Sin necesidad de lógica de reintentos, configuración del navegador u otro trabajo manual.

👎 Cons:

  • Servicio Premium

Conclusión

En esta entrada de blog, aprendiste por qué Amazon podría detenerte con un CAPTCHA y cómo manejarlo en tu script de scraping. Desafortunadamente, las apariencias de CAPTCHA son inconsistentes, lo que dificulta su estudio. Afortunadamente, existen algunas técnicas para evitar o eludir CAPTCHAs, y aquí exploramos las tres más útiles.

Como ya hemos comentado, el enfoque más eficaz es utilizar el navegador de raspado de Bright Data, que viene con un solucionador CAPTCHA incorporado y se integra perfectamente con Selenium, Playwright y Puppeteer.

Si busca una solución aún más sencilla, considere nuestras otras opciones:

  • Amazon CAPTCHA Solver: Un CAPTCHA Solver dedicado para Amazon respaldado por nuestro Web Unlocker.
  • Amazon Scraper: Un punto final de raspado diseñado específicamente para las páginas de Amazon. Simplemente llámalo y obtén los datos que necesitas, ya analizados en el formato que prefieras.
  • Conjuntos de datos de Amazon: Conjuntos de datos listos para usar que contienen los datos que le interesan. No es necesario hacer scraping.

Cree una cuenta gratuita de Bright Data hoy mismo y explore nuestras soluciones de scraping y conjuntos de datos con una prueba gratuita.

No se requiere tarjeta de crédito