Comment contourner CAPTCHA en utilisant Python#

À propos du CAPTCHA#

CAPTCHA est l'abréviation de « Test de Turing public entièrement automatisé pour distinguer les ordinateurs et les humains », qui est un test de Turing qui distingue complètement automatiquement les ordinateurs et les humains. Il s'agit d'un test utilisé pour confirmer si un visiteur d'un site Web est une personne réelle et non un programme automatisé tel qu'un robot ou un malware. CAPTCHA est généralement présenté à l'utilisateur sous forme d'image et nécessite que l'utilisateur saisisse les mots ou les chiffres qu'il voit dans une zone de texte. Ce type de test tire parti de la reconnaissance humaine des images et du texte pour garantir la sécurité du site Web et prévenir les attaques malveillantes et les opérations automatisées.

Préparation de l'environnement#

Vous pouvez installer le SDK Python NextCaptcha à l'aide de pip :
pip install nextcaptcha-python

usage#

Pour commencer à utiliser le SDK NextCaptcha Python, vous devez d'abord obtenir la clé API (clientKey) à partir du tableau de bord NextCaptcha. Vous pouvez ensuite créer une instance NextCaptchaAPI :
from nextcaptcha import NextCaptchaAPI
 
api = NextCaptchaAPI(client_key="YOUR_CLIENT_KEY")
Vous pouvez désormais utiliser des objets API pour résoudre différents types de captchas. Pour résoudre le défi reCAPTCHA v2, utilisez la méthode recaptchav2 :
result = api.recaptchav2(website_url="https://example.com", website_key="SITE_KEY")
Résolution des problèmes reCAPTCHA v2 Enterprise Pour résoudre les problèmes reCAPTCHA v2 Enterprise, utilisez la méthode recaptchav2enterprise :
result = api.recaptchav2enterprise(website_url="https://example.com", website_key="SITE_KEY")
Résolution des problèmes reCAPTCHA v3 Pour résoudre les problèmes reCAPTCHA v3, utilisez la méthode recaptchav3 :
result = api.recaptchav3(website_url="https://example.com", website_key="SITE_KEY")
Résolution de reCAPTCHA Mobile Pour résoudre le défi reCAPTCHA Mobile, utilisez la méthode recaptcha_mobile :
result = api.recaptcha_mobile(app_key="APP_KEY")
Résoudre hCaptcha Pour résoudre les défis hCaptcha, utilisez la méthode hcaptcha :
result = api.hcaptcha(website_url="https://example.com", website_key="SITE_KEY")
Résolution des problèmes hCaptcha Enterprise Pour résoudre les problèmes hCaptcha Enterprise, utilisez la méthode hcaptcha_enterprise :
result = api.hcaptcha_enterprise(website_url="https://example.com", website_key="SITE_KEY")
Résoudre FunCaptcha Pour résoudre le défi FunCaptcha, utilisez la méthode funcaptcha :
result = api.funcaptcha(website_public_key="WEBSITE_PUBLIC_KEY")
Vérifier le solde de votre compte Pour vérifier le solde de votre compte NextCaptcha, utilisez la méthode get_balance :
balance = api.get_balance()
print(f"Account balance: {balance}")
Voici un exemple complet de résolution d'un défi reCAPTCHA v2 à l'aide du SDK Python NextCaptcha :
from nextcaptcha import NextCaptchaAPI
 
CLIENT_KEY = "YOUR_CLIENT_KEY"
WEBSITE_URL = "https://example.com"
WEBSITE_KEY = "SITE_KEY"
 
api = NextCaptchaAPI(client_key=CLIENT_KEY)
result = api.recaptchav2(website_url=WEBSITE_URL, website_key=WEBSITE_KEY)
 
if result["status"] == "ready":
    print(f"reCAPTCHA solved: {result['solution']}")
else:
    print(f"Failed to solve reCAPTCHA: {result['error']}")

La gestion des erreurs#

S'il y a une erreur dans le code de vérification, le SDK renverra un dictionnaire contenant des informations sur l'erreur. Vous pouvez vérifier le champ d'état pour déterminer si la demande a abouti. Si le statut est « Prêt », le code de vérification a été résolu avec succès et la solution sera disponible dans le champ Solution. Si le statut est "Échec", le champ d'erreur contiendra une description de l'erreur