Comment éviter le CAPTCHA d’Amazon : Guide 2025

Apprenez trois méthodes éprouvées pour contourner le CAPTCHA d’Amazon et optimiser votre flux de travail en matière de web scraping.
11 min de lecture
How to Bypass Amazon CAPTCHA blog image

Dans cet article de blog, vous verrez :

  • Qu’est-ce que le CAPTCHA d’Amazon et comment fonctionne-t-il ?
  • Trois approches différentes pour éviter cela
  • Une comparaison complète de ces techniques

Commençons.

Amazon CAPTCHA : Introduction

Avant d’apprendre comment l’éviter, il faut comprendre ce qu’est le CAPTCHA d’Amazon et pourquoi il apparaît sur certaines pages.

Définition

Amazon CAPTCHA est une mesure anti-bot qui apparaît lorsque vous visitez des pages Amazon avec un script d’automatisation ou que vous effectuez des interactions automatisées sur le site. Dans la plupart des cas, il s’agit d’un CAPTCHA textuel simple, qui vous oblige à saisir les caractères apparaissant à l’écran :

Un exemple de CAPTCHA d'Amazon

Le défi ci-dessus peut sembler simple, mais il suffit à arrêter la plupart des scripts de raclage de sites de commerce électronique. La bonne nouvelle, c’est qu’il ne s’agit pas du CAPTCHA le plus avancé du marché, et qu’il existe certainement des moyens de le contourner.

Lorsqu’il est affiché

Voici la partie délicate… Le CAPTCHA d’Amazon n’apparaît pas dans un ensemble fixe de scénarios ou de configurations de navigateur. Parfois, vous le trouverez, parfois non.

D’après nos tests, les scénarios les plus courants qui déclenchent le CAPTCHA lors de l’utilisation d’outils d’automatisation tels que Selenium, Puppeteer et Playwright sont les suivants :

  1. Visiter directement la page d’un produit Amazon
  2. Effectuer une recherche automatisée
  3. Tentative de connexion ou d’enregistrement

Cependant, il est important de noter qu’aucune de ces actions ne garantit un défi CAPTCHA. Bien que vous puissiez penser que ce comportement est bon, il ne l’est pas vraiment ! Vous pouvez être amené à penser que votre scraper Amazon fonctionne parfaitement, avant d’être soudainement bloqué sans raison apparente.

Par exemple, un simple script Selenium comme le suivant peut fonctionner sans problème, ou vous pouvez déclencher 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()

S’il est exécuté correctement, le script produira cette capture d’écran :

Capture d'écran de la page produit d'Amazon

En revanche, en cas d’échec, il produira :

Capture d'écran de la page CAPTCHA d'Amazon

La nature imprévisible de l’émergence du CAPTCHA rend difficile le développement d’une logique d’automatisation fiable qui déclenche systématiquement le défi. Par conséquent, il est également difficile de l’étudier. Heureusement, cela ne signifie pas qu’il est impossible de contourner le CAPTCHA.

Il est temps d’apprendre.

Comment contourner le CAPTCHA d’Amazon : 3 techniques

Dans ce chapitre, vous explorerez trois approches différentes pour résoudre le CAPTCHA d’Amazon :

  • Utiliser un navigateur caché
  • Utiliser l’IA
  • Utiliser un résolveur de CAPTCHA

Pour d’autres méthodes, consultez notre guide sur le contournement des CAPTCHA en Python.

Plongeons dans le vif du sujet.

Méthode n° 1 : utiliser un navigateur caché

Combien de fois avez-vous vu un CAPTCHA en naviguant sur Amazon ? Il y a de fortes chances que vous ne l’ayez que rarement, voire jamais, vu. Cela suggère que les utilisateurs humains réels ne sont pas affectés de manière significative par les systèmes anti-bots et anti-scraping d’Amazon.

Comme dans la plupart des cas, la prévention est préférable à l’atténuation. L’objectif n’est pas d’essayer de résoudre le CAPTCHA, mais d’empêcher son déclenchement. Comment ? En configurant la logique d’automatisation du navigateur de manière à imiter le plus fidèlement possible un véritable utilisateur humain lorsqu’il interagit avec les pages web d’Amazon.

L’objectif peut être atteint en utilisant des navigateurs dotés de plug-ins furtifs qui modifient les paramètres du navigateur liés à l’automatisation afin d’éviter les fuites et de réduire la détection des robots. Voici quelques outils populaires à cet effet :

  • SeleniumBase: Un cadre d’automatisation basé sur Python avec des capacités de furtivité intégrées pour contourner la détection des robots dans Selenium.
  • Playwright Stealth: plugin Playwright Extra qui modifie les paramètres du navigateur pour éviter d’être détecté par les systèmes anti-bots.
  • Puppeteer Stealth: plugin Puppeteer Extra qui modifie les empreintes digitales du navigateur pour leur donner une apparence plus humaine.
  • chromedriver-not-detected: un pilote Web Selenium corrigé qui aide à contourner la détection par les mécanismes anti-bots.

Dans cette section, nous nous concentrerons sur SeleniumBase, car il fonctionne parfaitement avec Python. Cependant, vous pouvez facilement utiliser n’importe laquelle des autres options.

Pour installer SeleniumBase, exécutez la commande suivante :

pip install seleniumbase

Vous pouvez alors modifier le script Selenium ci-dessus pour utiliser SeleniumBase comme suit :

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

Génial ! Les chances de trouver les CAPTCHA d’Amazon ont été considérablement réduites.

Approche 2 : résoudre le problème grâce à l’IA

Si vous regardez une collection de CAPTCHA d’Amazon, il est difficile de croire que l’IA n’est pas capable de les résoudre :

Un ensemble de défis CAPTCHA Amazon

Après tout, les défis de reconnaissance de texte de base semblent désuets par rapport aux CAPTCHAs plus avancés et plus complexes sur le marché aujourd’hui :

Un CAPTCHA avancé actuel

L’idée est donc la suivante :

  1. Faites une capture d’écran de la page CAPTCHA
  2. Nourrir ChatGPT ou tout autre modèle d’IA
  3. Obtenez la réponse de l’IA et utilisez-la pour résoudre le CAPTCHA.

Si vous inspectez le code HTML du CAPTCHA, vous verrez que le champ de saisie de texte peut être sélectionné avec le sélecteur CSS .a-span12. Compte tenu de ces informations, nous pouvons contourner le CAPTCHA d’Amazon en utilisant l’IA avec l’approche suivante :

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)

Pour que la fonction solve_amazon_captcha() fonctionne, installez la dépendance openai:

pip install openai

En outre, définissez votre clé d’API OpenAI en tant que variable d’environnement globale appelée OPENAI_API_KEY.

C’est ainsi que l’on peut appeler la fonction de résolution des CAPTCHA alimentée par l’IA :

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

solve_amazon_captcha(driver)

driver.quit()

Maintenant, votre script résoudra le CAPTCHA comme le ferait un utilisateur humain.

Pour une approche similaire utilisant Gemini, consultez le projet Genaptcha sur GitHub.

Méthode #3 : Intégrer un solveur CAPTCHA

Pour obtenir une précision maximale tout en minimisant les appels aux modèles d’IA – qui peuvent être coûteux en raison de la consommation de jetons par les images – il convient de combiner les deux solutions susmentionnées :

  1. Réduire la fréquence des CAPTCHA sur Amazon
  2. Résoudre les problèmes uniquement lorsqu’ils apparaissent

Cependant, l’approche hybride comporte ses propres défis :

  1. Dépendances supplémentaires: Vous avez besoin d’un outil d’automatisation de navigateur furtif, du client OpenAI et des paramètres d’environnement appropriés.
  2. Instabilité: les plugins furtifs peuvent fonctionner aujourd’hui mais être inefficaces demain en raison de la bataille permanente entre les développeurs de bots et les solutions anti-bots. C’est pourquoi il est essentiel de maintenir les bibliothèques à jour. En outre, les modèles LLM produisent parfois des résultats incohérents, ce qui peut poser un problème supplémentaire. En outre, l’IA a du mal à résoudre des CAPTCHA plus complexes, qu’Amazon est susceptible d’adopter dans un avenir proche.
  3. Logique de réessai requise: pour garantir que le CAPTCHA est effectivement résolu, vous devez mettre en œuvre un mécanisme de réessai en cas d’échec de l’IA.
  4. Lenteur: l’IA introduit des retards importants dans le traitement. En outre, l’attente de l’apparition et de la disparition du CAPTCHA ralentit encore le processus d’automatisation/de raclage.
  5. Frais généraux de maintenance: vous êtes chargé de veiller à ce que toutes les technologies choisies soient correctement configurées et continuent de fonctionner au fil du temps.

Ne serait-il pas plus simple d’utiliser un résolveur de CAPTCHA ? Bien sûr, surtout si cette fonctionnalité est intégrée directement dans le navigateur sans tête contrôlé par l’outil d’automatisation du navigateur de votre choix.

C’est exactement l’expérience qu’offre Scraping Browser. Il s’agit d’un navigateur en nuage optimisé pour le web scraping, conçu pour offrir des performances maximales et éliminer le besoin de gestion de l’infrastructure. Ce navigateur spécialisé propose la rotation des IP, des tentatives automatiques, des mécanismes avancés d’évitement des robots et, bien sûr, la capacité de résoudre les CAPTCHA.

Voyez comment l’intégrer facilement avec Selenium, Playwright et Puppeteer comme n’importe quel autre navigateur dans notre documentation.

La meilleure façon de déchiffrer le CAPTCHA d’Amazon

Voici un récapitulatif des techniques CAPTCHA d’Amazon étudiées dans cet article :

Approche Sauter le CAPTCHA Résolution CAPTCHA Maintenance Logique manuelle Coût
Navigateur caché ✔️ Exigée Exigée Gratuit
Solution IA ✔️ Exigée Exigée 💲
Résolveur CAPTCHA ✔️ ✔️ Ce n’est pas nécessaire, car la solution fonctionne dans le nuage. Ce n’est pas nécessaire, car toutes les fonctions sont intégrées dans l’outil. 💲

Leurs forces et leurs faiblesses sont résumées ci-dessous.

Méthode n° 1 : utiliser un navigateur caché

👍 Pour :

  • Libre et gratuit

👎 Cons :

  • L’évasion du CAPTCHA, pas son contournement
  • Dépend des navigateurs corrigés, qui peuvent être instables.
  • Nécessite une maintenance continue

Approche 2 : résoudre le problème grâce à l’IA

👍 Pour :

  • Peut résoudre efficacement les CAPTCHAs basés sur du texte

👎 Cons :

  • Résultats incohérents et inefficaces face à des CAPTCHA complexes
  • La détection des CAPTCHA sur la page peut s’avérer délicate
  • Les appels à l’IA ont un coût

Méthode #3 : Intégrer un solveur CAPTCHA

👍 Pour :

  • Très efficace
  • Fonctionne de manière transparente avec n’importe quel outil d’automatisation de navigateur ou client HTTP
  • Il n’est pas nécessaire d’appliquer une logique de relance, de configurer le navigateur ou d’effectuer d’autres tâches manuelles.

👎 Cons :

  • Service Premium

Conclusion

Dans cet article de blog, vous avez appris pourquoi Amazon peut vous arrêter avec un CAPTCHA et comment le gérer dans votre script de scraping. Malheureusement, les apparences des CAPTCHA sont incohérentes, ce qui les rend difficiles à étudier. Heureusement, il existe des techniques pour éviter ou contourner les CAPTCHA, et nous explorons ici les trois plus utiles.

Comme indiqué ci-dessus, l’approche la plus efficace consiste à utiliser le navigateur de scraping de Bright Data, qui comprend un résolveur de CAPTCHA intégré et s’intègre de manière transparente à Selenium, Playwright et Puppeteer.

Si vous recherchez une solution encore plus simple, envisagez nos autres options :

  • Amazon CAPTCHA Solver: Un CAPTCHA Solver dédié à Amazon et pris en charge par notre Web Unlocker.
  • Amazon Scraper: un point final de scraping conçu spécifiquement pour les pages Amazon. Il suffit de l’appeler pour obtenir les données dont vous avez besoin, déjà analysées dans le format de votre choix.
  • Amazon Datasets: ensembles de données prêts à l’emploi contenant les données qui vous intéressent. Aucun scrapping n’est nécessaire.

Créez un compte Bright Data gratuit dès aujourd’hui et découvrez nos solutions de scraping et de dataset grâce à un essai gratuit.

Aucune carte de crédit requise