Scarnox · Blog

Captcha für legitime Automatisierung und Tests umgehen: so geht's

Ein Captcha legitim zu umgehen bedeutet, dass Ihre automatisierte Arbeit eine Challenge passiert, ohne die Regeln der Website zu brechen oder ihre Nutzer anzugreifen. In der Praxis umfasst das vier Fälle: die Automatisierung eines eigenen Workflows, das Testen der eigenen Website, den Bau barrierefreier Werkzeuge und das Sammeln öffentlicher Daten in einem verantwortungsvollen Tempo. Der schnellste ehrliche Weg ist meist, das Captcha gar nicht erst auszulösen. Wenn Sie es nicht vermeiden können, kann eine Solver-API wie Scarnox das Token zurückgeben, das die Seite erwartet.

Dieser Leitfaden stellt die Ansätze in der Reihenfolge vor, in der Sie sie ausprobieren sollten, und markiert die Grenzen, die Sie nicht überschreiten sollten.

Zuerst klären, warum das Captcha erschienen ist

Captchas sind ein Signal. Die Website hat entschieden, dass eine Anfrage automatisiert oder riskant aussah. Bevor Sie versuchen, die Challenge zu passieren, prüfen Sie, was sie ausgelöst hat:

Die Behebung der Ursache entfernt das Captcha oft ganz, was besser ist, als es bei jeder Anfrage zu lösen.

Die Ansätze versuchen, die die Challenge vermeiden

  1. Eine offizielle API nutzen, falls vorhanden. Viele Websites veröffentlichen Daten über eine API mit eigenen Schlüsseln und Limits. Dieser Weg ist schneller, stabiler und eindeutig erlaubt.
  2. Langsamer werden und Anfragen verteilen. Fügen Sie Verzögerungen zwischen den Anfragen ein, begrenzen Sie die Parallelität und gehen Sie zurück, wenn Sie eine Warnung bekommen. Ein gleichmäßiges Tempo von ein paar Anfragen pro Minute sieht für eine Website ganz anders aus als ein Schwall von Hunderten.
  3. Sitzungen behalten. Verwenden Sie Cookies und ein konsistentes Browser-Profil über eine Sitzung hinweg, statt bei jeder Seite neu zu starten. Der Leitfaden Browser-Fingerprinting für Scraper erklärt, warum das wichtig ist.
  4. robots.txt und die Nutzungsbedingungen prüfen, bevor Sie anfangen, nicht erst, nachdem Sie blockiert wurden. Halten Sie sich an das, was die Website verlangt.

Testschlüssel und Testumgebungen verwenden

Wenn das Captcha Ihre eigene Staging-Umgebung blockiert, richten Sie Ihre Tests nicht auf die Produktion, um es zu umgehen. Die meisten Captcha-Anbieter, darunter Google und Cloudflare, veröffentlichen Testschlüssel für die Entwicklung. Diese Schlüssel erzeugen ein gültiges Token ohne echte Challenge, und sie sind das richtige Werkzeug für automatisierte Tests. Sie können Ihr Team auch bitten, das Captcha auf dem Staging-Server abzuschalten. Der Leitfaden Captcha in automatisierten Tests führt durch diese Einrichtung.

Das Captcha über eine API lösen, wenn es vor legitimer Arbeit steht

Manche Captchas erscheinen auch bei einem legitimen Auftrag, selbst mit gutem Tempo. Ein Monitoring-Job, der das Portal Ihres eigenen Lieferanten prüft, ist ein Beispiel. In diesem Fall ist eine Solver-API das passende Werkzeug.

Scarnox ist eine Captcha-Solver-API. Heute ist der einzige Live-Aufgabentyp PopularCaptcha, proxyless. Ihr Code sendet den Sitekey und die Seiten-URL und erhält ein Token, das er zusammen mit dem Formular absendet:

import requests

r = requests.post(
    "https://api.scarnox.com/api/tasks/create",
    headers={"Authorization": "Bearer scarnox_YOURAPIKEY"},
    json={
        "captcha_type": "PopularCaptchaTaskProxyless",
        "site_key": "10000000-ffff-ffff-ffff-000000000001",
        "site_url": "https://example.com/login",
    },
    timeout=185,
)
data = r.json()
token = data["solution"]["token"] if data.get("errorId") == 0 else None

Das Token läuft nach etwa zwei Minuten ab, reichen Sie es also sofort ein. Das vollständige Beispiel finden Sie im Leitfaden Captcha mit Python lösen. Andere Captcha-Typen, darunter reCAPTCHA, Cloudflare Turnstile und Arkose, kommen bald. Bis sie verfügbar sind, gehen Sie nicht davon aus, dass ein Solver sie behandelt.

Barrierefreiheit ist ebenfalls ein legitimer Grund

Captchas sind eine Hürde für Menschen, die Screenreader nutzen, das Gerät wechseln oder kognitive oder visuelle Einschränkungen haben. Wenn Sie Werkzeuge für Barrierefreiheit bauen oder für Nutzer handeln, die eine Challenge nicht abschließen können, ist der richtige erste Schritt, den Betreiber nach einer barrierefreien Alternative zu fragen. Viele Websites bieten eine an. Ein Captcha zu automatisieren ist kein Ersatz für dieses Gespräch.

Was nicht legitim ist

Manche Nutzungen der Captcha-Lösung sind tabu, egal, welcher Grund angegeben wird. Verwenden Sie keine Solver oder Umgehungen für:

Diese Nutzungen schaden echten Menschen, verstoßen gegen die Nutzungsbedingungen von Websites und setzen Sie einem ernsthaften rechtlichen Risiko aus. Scarnox unterstützt sie nicht, und dieser Leitfaden behandelt sie nicht.

Verantwortungsvoll scrapen

Wenn Ihre Umgehung dem Sammeln öffentlicher Daten dient, behalten Sie diese Punkte im Blick:

Zusammenfassung

Vermeiden Sie das Captcha zuerst, indem Sie die Ursache beheben. Verwenden Sie Testschlüssel für Tests. Nutzen Sie eine Solver-API für legitime Aufträge, die trotzdem auf eine Challenge stoßen, innerhalb der Live-Aufgabentypen. Halten Sie sich von den oben genannten Nutzungen fern und scrapen Sie in einem Tempo, das eine Website verkraftet.

Nächste Schritte