So umgehen Sie CAPTCHA mit Python#

Über CAPTCHA#

CAPTCHA ist die Abkürzung für „Completely Automated Public Turing test to tell Computers and Humans Apart“, einem Turing-Test, der Computer und Menschen völlig automatisch unterscheidet. Dabei handelt es sich um einen Test, mit dem bestätigt werden soll, ob es sich bei einem Website-Besucher um eine echte Person und nicht um ein automatisiertes Programm wie einen Bot oder eine Malware handelt. CAPTCHA wird dem Benutzer normalerweise als Bild angezeigt und erfordert die Eingabe der angezeigten Wörter oder Zahlen in ein Textfeld. Diese Art von Tests nutzt die menschliche Erkennung von Bildern und Texten, um die Sicherheit der Website zu gewährleisten und böswillige Angriffe und automatisierte Vorgänge zu verhindern.

Umweltvorbereitung#

Sie können das NextCaptcha Python SDK mit pip installieren:
pip install nextcaptcha-python

Verwendung#

Um mit der Verwendung des NextCaptcha Python SDK zu beginnen, müssen Sie zunächst den API-Schlüssel (clientKey) vom NextCaptcha-Dashboard abrufen. Anschließend können Sie eine NextCaptchaAPI-Instanz erstellen:
from nextcaptcha import NextCaptchaAPI
 
api = NextCaptchaAPI(client_key="YOUR_CLIENT_KEY")
Jetzt können Sie API-Objekte verwenden, um verschiedene Arten von Captchas zu lösen. Um die reCAPTCHA v2-Herausforderung zu lösen, verwenden Sie die recaptchav2-Methode:
result = api.recaptchav2(website_url="https://example.com", website_key="SITE_KEY")
Lösen von reCAPTCHA v2 Enterprise Um reCAPTCHA v2 Enterprise-Herausforderungen zu lösen, verwenden Sie die Methode recaptchav2enterprise:
result = api.recaptchav2enterprise(website_url="https://example.com", website_key="SITE_KEY")
Lösen von reCAPTCHA v3 Um reCAPTCHA v3-Herausforderungen zu lösen, verwenden Sie die recaptchav3-Methode:
result = api.recaptchav3(website_url="https://example.com", website_key="SITE_KEY")
Lösung von reCAPTCHA Mobile Um die reCAPTCHA Mobile-Herausforderung zu lösen, verwenden Sie die Methode recaptcha_mobile:
result = api.recaptcha_mobile(app_key="APP_KEY")
hCaptcha lösen Um hCaptcha-Herausforderungen zu lösen, verwenden Sie die hcaptcha-Methode:
result = api.hcaptcha(website_url="https://example.com", website_key="SITE_KEY")
Lösen von hCaptcha Enterprise Um hCaptcha Enterprise-Herausforderungen zu lösen, verwenden Sie die Methode hcaptcha_enterprise:
result = api.hcaptcha_enterprise(website_url="https://example.com", website_key="SITE_KEY")
FunCaptcha lösen Um die FunCaptcha-Herausforderung zu lösen, verwenden Sie die Funcaptcha-Methode:
result = api.funcaptcha(website_public_key="WEBSITE_PUBLIC_KEY")
Überprüfen des Kontostands Um den Kontostand Ihres NextCaptcha-Kontos zu überprüfen, verwenden Sie die Methode get_balance:
balance = api.get_balance()
print(f"Account balance: {balance}")
Hier ist ein vollständiges Beispiel für die Lösung einer reCAPTCHA v2-Herausforderung mit dem NextCaptcha Python SDK:
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']}")

Fehlerbehandlung#

Wenn im Bestätigungscode ein Fehler vorliegt, gibt das SDK ein Wörterbuch mit Fehlerinformationen zurück. Sie können das Statusfeld überprüfen, um festzustellen, ob die Anfrage erfolgreich war. Wenn der Status „Bereit“ lautet, wurde der Verifizierungscode erfolgreich gelöst und die Lösung ist im Lösungsfeld verfügbar. Wenn der Status „Fehlgeschlagen“ ist, enthält das Fehlerfeld eine Beschreibung des Fehlers