Como evitar o CAPTCHA da Amazon: Guia 2025

Aprenda três métodos comprovados para contornar o Amazon CAPTCHA e otimizar seu fluxo de trabalho de raspagem da Web.
11 min de leitura
How to Bypass Amazon CAPTCHA blog image

Nesta postagem do blog, você verá:

  • O que é o Amazon CAPTCHA e como ele funciona?
  • Três abordagens diferentes para evitar isso
  • Uma comparação completa dessas técnicas

Vamos começar.

Amazon CAPTCHA: Introdução

Antes de aprender como evitá-lo, entenda o que é o Amazon CAPTCHA e por que ele aparece em determinadas páginas.

Definição

O Amazon CAPTCHA é uma medida anti-bot que aparece quando você visita as páginas da Amazon com um script de automação ou realiza interações automatizadas no site. Na maioria dos casos, ele aparece como um CAPTCHA simples baseado em texto, exigindo que você digite os caracteres que aparecem na tela:

Um exemplo do CAPTCHA da Amazon

O desafio acima pode parecer simples, mas é suficiente para impedir a maioria dos scripts de raspagem da Web de comércio eletrônico. A boa notícia é que ele não é o CAPTCHA mais avançado do mercado, e certamente há maneiras de contorná-lo.

Quando exibido

Aqui está a parte complicada… O Amazon CAPTCHA não aparece em um conjunto fixo de cenários ou configurações de navegador. Às vezes, você pode encontrá-lo e, às vezes, não.

Com base em nossos testes, os cenários mais comuns que acionam o CAPTCHA ao usar ferramentas de automação como Selenium, Puppeteer e Playwright incluem:

  1. Visite diretamente a página de um produto da Amazon
  2. Realizar uma pesquisa automatizada
  3. Tentativa de fazer login ou registrar-se

Ainda assim, é importante observar que nenhuma dessas ações garante um desafio de CAPTCHA. Embora você possa pensar que esse comportamento é bom, na verdade não é! Você pode ser levado a pensar que o seu scraper da Amazon está funcionando perfeitamente, mas de repente começa a ser bloqueado sem motivo aparente.

Por exemplo, um script Selenium simples como o seguinte pode funcionar sem problemas, ou você pode acionar um 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()

Se executado corretamente, o script produzirá esta captura de tela:

Captura de tela da página de produto da Amazon

Por outro lado, em execuções fracassadas, ele produzirá:

Captura de tela da página do Amazon CAPTCHA

A natureza imprevisível do surgimento do CAPTCHA torna desafiador o desenvolvimento de uma lógica de automação confiável que acione o desafio de forma consistente. Como resultado, também é difícil estudá-lo. Felizmente, isso não significa que seja impossível contornar o CAPTCHA.

É hora de aprender.

Como evitar o CAPTCHA da Amazon: 3 técnicas

Neste capítulo, você explorará três abordagens diferentes para lidar com o CAPTCHA da Amazon:

  • Use um navegador oculto
  • Usando IA
  • Usando um solucionador de CAPTCHA

Para obter outros métodos, consulte nosso guia sobre como contornar CAPTCHAs em Python.

Vamos nos aprofundar no assunto.

Método nº 1: Use um navegador oculto

Quantas vezes você já viu um CAPTCHA ao navegar na Amazon? É provável que você raramente, ou nunca, o tenha visto. Isso sugere que os usuários humanos reais não são significativamente afetados pelos sistemas anti-bot e anti-raspagem da Amazon.

Como na maioria dos casos, a prevenção é melhor do que a mitigação. O objetivo não é tentar resolver o CAPTCHA, mas evitar que ele seja acionado. Como? Configurando a lógica de automação do navegador para imitar o mais próximo possível um usuário humano real ao interagir com as páginas da Web da Amazon.

O objetivo pode ser alcançado com o uso de navegadores com plug-ins furtivos que modificam as configurações do navegador relacionadas à automação para evitar vazamentos e reduzir a detecção de bots. Algumas ferramentas populares para essa finalidade são:

  • SeleniumBase: uma estrutura de automação baseada em Python com recursos furtivos integrados para contornar a detecção de bots no Selenium.
  • Playwright Stealth: um plug-in do Playwright Extra que modifica as configurações do navegador para evitar a detecção por sistemas antibot.
  • Puppeteer Stealth: um plug-in do Puppeteer Extra que modifica as impressões digitais do navegador para que pareçam mais humanas.
  • chromedriver-not-detected: um Selenium WebDriver corrigido que ajuda a contornar a detecção por mecanismos anti-bot.

Nesta seção, vamos nos concentrar no SeleniumBase, pois ele funciona perfeitamente com o Python. No entanto, você pode usar facilmente qualquer uma das outras opções.

Para instalar o SeleniumBase, execute o seguinte comando:

pip install seleniumbase

Você pode então modificar o script do Selenium acima para usar o SeleniumBase da seguinte forma:

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()

Excelente! As chances de encontrar CAPTCHAs da Amazon foram significativamente reduzidas.

Abordagem 2: resolvendo o problema com IA

Se você observar uma coleção de CAPTCHAs da Amazon, é difícil acreditar que a IA não seja capaz de resolvê-los:

Um conjunto de desafios do Amazon CAPTCHA

Afinal de contas, os desafios básicos de reconhecimento de texto parecem antiquados em comparação com os CAPTCHAs mais avançados e complexos disponíveis no mercado atualmente:

Um CAPTCHA avançado atual

Portanto, a ideia aqui é:

  1. Faça uma captura de tela da página do CAPTCHA
  2. Alimentação do ChatGPT ou de qualquer outro modelo de IA
  3. Obtenha a resposta da IA e use-a para resolver o CAPTCHA.

Se você inspecionar o HTML do CAPTCHA, verá que o campo de entrada de texto pode ser selecionado com o seletor CSS .a-span12. Com essas informações, podemos contornar o CAPTCHA da Amazon usando IA com a seguinte abordagem:

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 a função solve_amazon_captcha() funcione, instale a dependência openai:

pip install openai

Além disso, defina sua chave de API OpenAI como uma variável de ambiente global chamada OPENAI_API_KEY.

É assim que você pode chamar a função de resolução de CAPTCHA com tecnologia de IA:

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

solve_amazon_captcha(driver)

driver.quit()

Agora, seu script resolverá o CAPTCHA como um usuário humano faria.

Para obter uma abordagem semelhante usando o Gemini, confira o projeto Genaptcha no GitHub.

Método nº 3: Integração de um solucionador de CAPTCHA

Para obter o máximo de precisão e, ao mesmo tempo, minimizar as chamadas para os modelos de IA, que podem ser caras devido ao consumo de tokens pelas imagens, as duas soluções mencionadas acima devem ser combinadas:

  1. Redução da frequência de CAPTCHAs na Amazon
  2. Resolva-os somente quando eles aparecerem

No entanto, a abordagem híbrida traz seus próprios desafios:

  1. Dependências adicionais: você precisa de uma ferramenta de automação de navegador furtivo, o cliente OpenAI e as configurações de ambiente apropriadas.
  2. Instabilidade: os plug-ins furtivos podem funcionar hoje, mas amanhã podem ser ineficazes devido à batalha contínua entre os desenvolvedores de bots e as soluções anti-bot. Por esse motivo, é essencial manter as bibliotecas atualizadas. Além disso, os modelos LLM às vezes produzem resultados inconsistentes, o que pode introduzir um problema adicional. Além disso, a IA tem dificuldade em resolver CAPTCHAs mais complexos, que a Amazon provavelmente adotará em um futuro próximo.
  3. Lógica de repetição necessária: para garantir que o CAPTCHA seja realmente resolvido, você precisa implementar um mecanismo de repetição caso a IA falhe.
  4. Lentidão: a IA introduz atrasos significativos no processamento. Além disso, esperar que o CAPTCHA apareça e desapareça torna o processo de automação/raspagem ainda mais lento.
  5. Custos indiretos de manutenção: você é responsável por garantir que todas as tecnologias escolhidas sejam configuradas corretamente e continuem funcionando ao longo do tempo.

Não seria mais fácil usar um solucionador de CAPTCHA? É claro que sim, especialmente se esse recurso for integrado diretamente ao navegador sem cabeça controlado pela ferramenta de automação de navegador de sua escolha.

Essa é exatamente a experiência que o Scraping Browser oferece. Trata-se de um navegador baseado em nuvem otimizado para raspagem da Web, projetado para oferecer o máximo de desempenho e eliminar a necessidade de gerenciamento de infraestrutura. Esse navegador especializado apresenta rotação de IP, novas tentativas automáticas, mecanismos avançados de prevenção de bots e, é claro, a capacidade de resolver CAPTCHA.

Veja como integrá-lo facilmente ao Selenium, Playwright e Puppeteer como qualquer outro navegador em nossos documentos.

A melhor maneira de decifrar o CAPTCHA da Amazon

Esta é uma recapitulação das técnicas de CAPTCHA da Amazon exploradas neste artigo:

Abordagem Ignorar CAPTCHA Resolução do CAPTCHA Manutenção Lógica manual Custo
Navegador oculto ✔️ Necessário Necessário Grátis
Solução de IA ✔️ Necessário Necessário 💲
Solucionador de CAPTCHA ✔️ ✔️ Não é necessário, pois a solução é executada na nuvem. Isso não é necessário, pois todas as funções estão integradas na ferramenta. 💲

Seus pontos fortes e fracos estão resumidos abaixo.

Método nº 1: Use um navegador oculto

Prós:

  • Livre e de código aberto

Cons:

  • Evasão do CAPTCHA, não evasão
  • Depende de navegadores com patches, que podem ser instáveis.
  • Requer manutenção contínua

Abordagem 2: resolvendo o problema com IA

Prós:

  • Pode resolver efetivamente CAPTCHAs baseados em texto

Cons:

  • Resultados inconsistentes e ineficazes contra CAPTCHAs complexos
  • Detectar o CAPTCHA na página pode ser complicado
  • As chamadas de IA têm um custo

Método nº 3: Integração de um solucionador de CAPTCHA

Prós:

  • Altamente eficaz
  • Funciona perfeitamente com qualquer ferramenta de automação de navegador ou cliente HTTP
  • Não há necessidade de lógica de repetição, configuração do navegador ou outro trabalho manual.

Cons:

  • Serviço Premium

Conclusão

Nesta postagem do blog, você aprendeu por que a Amazon pode impedi-lo com um CAPTCHA e como lidar com ele em seu script de raspagem. Infelizmente, as aparências dos CAPTCHAs são inconsistentes, o que os torna difíceis de estudar. Felizmente, existem algumas técnicas para evitar ou contornar os CAPTCHAs, e aqui vamos explorar as três mais úteis.

Conforme mencionado acima, a abordagem mais eficaz é usar o navegador de raspagem da Bright Data, que vem com um solucionador de CAPTCHA integrado e se integra perfeitamente ao Selenium, Playwright e Puppeteer.

Se estiver procurando uma solução ainda mais simples, considere nossas outras opções:

  • Amazon CAPTCHA Solver: um CAPTCHA Solver dedicado para a Amazon com suporte do nosso Web Unlocker.
  • Amazon Scraper: um ponto de extremidade de raspagem projetado especificamente para páginas da Amazon. Basta chamá-lo e obter os dados de que você precisa, já analisados no formato de sua escolha.
  • Amazon Datasets: conjuntos de dados prontos para uso que contêm os dados de seu interesse. Não é necessário fazer scraping.

Crie uma conta gratuita na Bright Data hoje mesmo e explore nossas soluções de raspagem e conjunto de dados com uma avaliação gratuita.

Não é necessário cartão de crédito