Wie umgeht man CAPTCHAs beim Web-Scraping? - 5 einfache Schritte

Anleitungen, Kratzen, Jan-04-20235 Min. gelesen

Wenn Sie Daten von großen Websites scrapen, ist es sehr unwahrscheinlich, dass Sie nicht mit einem CAPTCHA konfrontiert wurden, um zu beweisen, dass Sie ein Mensch sind. Als Web Scraper wissen Sie vielleicht schon, warum Cybersecurity-Experten gezwungen waren, sie zu erfinden. Sie waren ein Ergebnis Ihrer Bots, die endlose Website-Anfragen automatisierten, um auf sie zuzugreifen.

Wenn Sie Daten von großen Websites scrapen, ist es sehr unwahrscheinlich, dass Sie nicht mit einem CAPTCHA konfrontiert wurden, um zu beweisen, dass Sie ein Mensch sind. Als Web Scraper wissen Sie vielleicht schon, warum Cybersecurity-Experten gezwungen waren, sie zu erfinden. Sie waren das Ergebnis Ihrer Bots, die endlose Website-Anfragen automatisierten, um auf sie zuzugreifen. Selbst echte Benutzer mussten sich also mit CAPTCHAs auseinandersetzen, die in verschiedenen Formen auftreten. Sie können CAPTCHAs jedoch umgehen, unabhängig davon, ob Sie ein Web Scraper sind oder nicht, was das Ziel dieses Artikels sein soll. Aber zuerst wollen wir uns ansehen, was CAPTCHAs sind.

CAPTCHA für Web-Scraping umgehen

CAPTCHAs werden normalerweise ausgelöst, um unnatürlichen Verkehr auf der Website zu erkennen. Um diese Einschränkung zu umgehen, bevorzugen die Benutzer eine Lösung, mit der sie all diese CAPTCHA-Codes knacken und wie ein echter Mensch auf die Website zugreifen können. Eine Lösung zur Umgehung von Captchas ist Capsolver. Die Verwendung von Proxys bei den Webanfragen hilft den Nutzern auch, als natürlicher Verkehr zu erscheinen. 

Was ist ein CAPTCHA?

CAPTCHA steht für Completely Automated Public Turing Test to tell Computers and Humans Apart. Das ist ein ziemlich langes Akronym, nicht wahr? Jetzt fragen Sie sich vielleicht, was der letzte Teil dieses Akronyms, Turing-Test, bedeutet - nun, es ist ein einfacher Test, um festzustellen, ob ein Mensch oder ein Bot mit einer Webseite oder einem Webserver interagiert.

Schließlich unterscheidet ein CAPTCHA Menschen von Bots und hilft Cyber-Sicherheitsanalytikern, Webserver vor Brute-Force-Angriffen, DDoS und in manchen Situationen auch vor Web-Scraping zu schützen. 

Lassen Sie uns herausfinden, wie CAPTCHAs Menschen von Bots unterscheiden können.

Wie funktionieren CAPTCHAs?

Sie finden CAPTCHAs in den Formularen einer Website, einschließlich Kontakt-, Registrierungs-, Kommentar-, Anmelde- oder Abmeldeformularen.

Herkömmliche CAPTCHAs enthalten ein Bild mit gestreckten oder verschwommenen Buchstaben, Zahlen oder beidem in einem Feld mit einer Hintergrundfarbe oder einem transparenten Hintergrund. Dann müssen Sie die Zeichen identifizieren und in das nachfolgende Textfeld eingeben. Dieser Prozess der Identifizierung von Zeichen ist für Menschen einfacher, für einen Bot jedoch etwas kompliziert.

Die Idee hinter der Unschärfe oder Verzerrung des CAPTCHA-Textes besteht darin, es dem Bot zu erschweren, die Zeichen zu identifizieren. Im Gegensatz dazu können Menschen Zeichen in verschiedenen Formaten interpretieren und abfangen, z. B. verschiedene Schriftarten, Handschrift usw. Allerdings kann nicht jeder Mensch ein CAPTCHA beim ersten Versuch lösen. Untersuchungen haben ergeben, dass sich 8 % der Nutzer beim ersten Versuch vertippen, während 29 % scheitern, wenn CAPTCHAs Groß- und Kleinschreibung berücksichtigen.

Andererseits können einige fortgeschrittene Bots mit Hilfe von maschinellem Lernen im Laufe der Jahre verzerrte Buchstaben abfangen. Infolgedessen haben einige Unternehmen wie Google herkömmliche CAPTCHAs durch hochentwickelte CAPTCHAs ersetzt. Ein solches Beispiel ist ReCAPTCHA, das Sie im nächsten Abschnitt kennenlernen werden.

Was ist ein ReCAPTCHA?

ReCAPTCHA ist ein kostenloser Dienst, den Google anbietet. Er fordert die Nutzer auf, Kästchen anzukreuzen, anstatt Text zu tippen, Rätsel zu lösen oder mathematische Gleichungen aufzustellen.

Ein typisches ReCAPTCHA ist fortschrittlicher als herkömmliche Formen von CAPTCHAs. Es verwendet Bilder und Texte aus der realen Welt, wie z. B. Verkehrsampeln auf Straßen, Texte aus alten Zeitungen und gedruckten Büchern. Dadurch müssen sich die Nutzer nicht auf CAPTCHAs der alten Schule mit verschwommenem und verzerrtem Text verlassen.

Wie funktionieren ReCAPTCHAs?

Es gibt drei wichtige Arten von ReCAPTCHA-Tests, um zu überprüfen, ob Sie ein Mensch sind oder nicht:

Kontrollkästchen

Dies sind die ReCAPTCHAs, die die Benutzer auffordern, ein Kästchen anzukreuzen, das wie in der obigen Abbildung "Ich bin kein Roboter" lautet. Auch wenn es auf den ersten Blick so aussieht, als ob sogar ein Bot diesen Test durchführen könnte, werden mehrere Faktoren berücksichtigt:

  • Bei diesem Test werden die Mausbewegungen des Benutzers bei der Annäherung an das Kontrollkästchen untersucht.
  • Die Mausbewegungen eines Benutzers sind nicht gerade, einschließlich der meisten direkten Mausbewegungen. Für einen Bot ist es schwierig, dasselbe Verhalten zu imitieren.
  • Schließlich würde das ReCAPTCHA die Cookies untersuchen, die Ihr Browser speichert.

Wenn das ReCAPTCHA nicht verifizieren kann, dass Sie ein Mensch sind, wird es Sie vor eine weitere Herausforderung stellen.

Image Recognition

Diese ReCAPTCHAs bieten den Nutzern neun oder sechzehn quadratische Bilder, wie Sie auf dem obigen Bild sehen können. Jedes Quadrat stellt einen Teil eines größeren Bildes oder verschiedene Bilder dar. Der Benutzer muss Quadrate auswählen, die bestimmte Objekte, Tiere, Bäume, Fahrzeuge oder Ampeln darstellen.

Wenn die Auswahl des Benutzers mit der Auswahl anderer Benutzer übereinstimmt, die den gleichen Test durchgeführt haben, wird der Benutzer überprüft. Andernfalls präsentiert das ReCAPTCHA einen anspruchsvolleren Test.

Keine Interaktion

Wussten Sie, dass ReCAPTCHA überprüfen kann, ob Sie ein Mensch sind oder nicht, ohne Kontrollkästchen oder andere Benutzerinteraktionen zu verwenden?

Dies geschieht, indem das System die bisherige Interaktion des Benutzers mit Websites und sein allgemeines Verhalten im Internet berücksichtigt. In den meisten Fällen kann das System anhand dieser Faktoren feststellen, ob Sie ein Bot sind.

Andernfalls würde auf eine der beiden zuvor genannten Methoden zurückgegriffen.

Wodurch werden CAPTCHAs und ReCAPTCHAs ausgelöst?

CAPTCHAs können ausgelöst werden, wenn eine Website ungewöhnliche Aktivitäten feststellt, die einem Bot-Verhalten ähneln. Zu diesem ungewöhnlichen Verhalten gehören unbegrenzte Anfragen innerhalb von Sekundenbruchteilen und das Anklicken von Links mit einer viel höheren Rate als bei Menschen. 

Dann würden einige Websites automatisch CAPTCHAs einsetzen, um ihre Systeme zu schützen.

Was die ReCAPTCHAs betrifft, so ist nicht genau klar, was sie auslöst. Allgemeine Ursachen sind jedoch Mausbewegungen, der Browserverlauf und die Verfolgung von Cookies.

Wissenswertes zur Umgehung von CAPTCHAs beim Web Scraping

Jetzt haben Sie einen klaren Überblick darüber, was CAPTCHAs und Rechaptchas sind, wie sie funktionieren und was sie auslöst. Nun ist es an der Zeit zu untersuchen, wie sich CAPTCHAs auf Web-Scraping auswirken.

CAPTCHAs können das Scraping im Web behindern, da die meisten Scraping-Vorgänge von automatisierten Bots durchgeführt werden. Lassen Sie sich jedoch nicht entmutigen. Wie zu Beginn dieses Artikels erwähnt, gibt es Möglichkeiten, CAPTCHAs beim Scrapen des Webs zu umgehen. Bevor wir dazu kommen, wollen wir uns damit befassen, was Sie vor dem Scrapen beachten müssen.

Senden von zu vielen Anfragen an die Ziel-Website

Zunächst einmal müssen Sie sicherstellen, dass Ihr Web Scraper/Crawler nicht zu viele Anfragen in einem kurzen Zeitraum senden darf. Die meisten Websites haben in ihren Allgemeinen Geschäftsbedingungen angegeben, wie viele Anfragen die Website zulässt. Lesen Sie diese unbedingt, bevor Sie mit dem Scrapen beginnen.

HTTP-Kopfzeilen

Wenn Sie eine Verbindung zu einer Website herstellen, senden Sie Informationen über Ihr Gerät an die verbindende Website. Diese kann diese Informationen verwenden, um den Inhalt an die Spezifikationen Ihres Geräts anzupassen und die Daten zu verfolgen. Wenn sie also herausfinden, dass die Anfragen von demselben Gerät stammen, wird jede Anfrage, die Sie danach senden, blockiert.

Wenn Sie also den Web Scraper/Crawler selbst entwickelt haben, können Sie die Header-Informationen für jede Anfrage, die Ihr Scraper stellt, ändern. Dann würde es für die Ziel-Website so aussehen, als ob sie mehrere Anfragen von verschiedenen Geräten erhält. Weitere Informationen über HTTP-Header finden Sie hier .

IP-Adresse

Eine weitere Tatsache, die Sie beachten sollten, ist, dass die Ziel-Website Ihre IP-Adresse nicht auf eine schwarze Liste gesetzt hat. Sie werden Ihre IP-Adresse wahrscheinlich auf eine schwarze Liste setzen, wenn Sie zu viele Anfragen mit Ihrem Scraper/Crawler senden. 

Um das oben genannte Problem zu lösen, können Sie einen Proxy-Server verwenden, der Ihre IP-Adresse maskiert. 

Durch die Rotation der HTTP-Header und Proxys (mehr dazu im nächsten Abschnitt) mit einem Pool wird sichergestellt, dass mehrere Geräte von verschiedenen Standorten aus auf die Website zugreifen. Sie sollten also in der Lage sein, das Scraping ohne Unterbrechung durch CAPTCHAs fortzusetzen. Allerdings müssen Sie sicherstellen, dass Sie die Leistung der Website auf keinen Fall beeinträchtigen.

Sie müssen jedoch beachten, dass Proxys Ihnen nicht dabei helfen, CAPTCHAs in den Formularen für die Registrierung, Passwortänderung, Abmeldung usw. zu überwinden. Sie können Ihnen nur helfen, Erfassungen zu überwinden, die Websites aufgrund von Bot-Verhalten auslösen. Um CAPTCHAs in solchen Formularen zu vermeiden, werden wir uns in einem der nächsten Abschnitte mit CAPTCHA-Lösern beschäftigen.

Andere Arten von CAPTCHAs

Zusätzlich zu den oben genannten Schlüsselfaktoren müssen Sie die folgenden CAPTCHAs kennen, wenn Sie Web-Scraping mit einem Bot durchführen:

Honeypots - Ein Honeypot ist eine Art CAPTCHA, das in ein HTML-Formularfeld oder einen Link eingebettet ist, dessen Sichtbarkeit jedoch mit CSS verborgen wird, so dass ein Bot, der damit interagiert, sich unweigerlich als Bot zu erkennen gibt. Bevor Sie also Ihren Bot den Inhalt scrapen lassen, stellen Sie sicher, dass die CSS-Eigenschaften des Elements sichtbar sind.

Wort-/Match-CAPTCHA - Das sind die CAPTCHAs bei mathematischen Gleichungen, wie z. B. "3+7" lösen. Es können auch Worträtsel zu lösen sein.

Anmeldung bei sozialen Medien - Bei einigen Websites müssen Sie sich z. B. mit Ihrem Facebook-Konto anmelden. Sie sind jedoch nicht sehr beliebt, da die meisten Administratoren wissen, dass sich die Leute nur ungern mit ihren Social-Media-Konten anmelden würden.

Zeiterfassung - Diese CAPTCHAs überwachen, wie schnell Sie eine bestimmte Aktion ausführen, z. B. das Ausfüllen eines Formulars, um festzustellen, ob es sich um einen Menschen oder einen Bot handelt.

Wie man CAPTCHAs für Web Scraping umgeht

Proxys rotieren lassen und hochwertige IP-Adressen verwenden

Wie im vorherigen Abschnitt erwähnt, müssen Sie die Proxys jedes Mal wechseln, wenn Sie eine Anfrage an die Ziel-Website senden. Dies ist eine Möglichkeit, CAPTCHAs zu vermeiden, die beim Scrapen ausgelöst werden. Unter diesen Umständen müssen Sie saubere IP-Proxys für Privatpersonen verwenden.

Wenn Sie die Proxys rotieren lassen, wäre es für die Ziel-Website schwierig, Ihren IP-Fußabdruck zu ermitteln. Dies liegt daran, dass bei jeder Anfrage die IP-Adresse des Proxys und nicht Ihre eigene erscheint.

Benutzer-Agenten rotieren

Da Sie einen Scraper für das Web-Scraping verwenden werden, müssen Sie den Benutzer-Agenten an einen gängigen Web-Browser oder an unterstützte Bot-Bots wie Suchmaschinen-Bots anpassen, die von Websites erkannt werden.

Das bloße Ändern des Benutzer-Agenten reicht nicht aus, da Sie eine Liste von Benutzer-Agenten-Zeichenfolgen erstellen und diese dann rotieren müssen. Diese Rotation führt dazu, dass die Ziel-Website Sie für ein anderes Gerät hält, während in Wirklichkeit ein Gerät alle Anfragen sendet.

Als beste Praxis für diesen Schritt wäre es gut, eine Datenbank mit echten Benutzer-Agenten zu führen. Löschen Sie außerdem die Cookies, wenn Sie sie nicht mehr benötigen.

CAPTCHA-Lösungsdienste

Eine einfachere und technisch weniger aufwendige Methode, ein CAPTCHA zu lösen, wäre die Nutzung eines CAPTCHA-Lösungsdienstes. Diese nutzen künstliche Intelligenz (KI), maschinelles Lernen (MI) und eine Reihe anderer Technologien, um ein CAPTCHA zu lösen.

Einige der bekanntesten CAPTCHA-Löser, die derzeit in der Branche existieren, sind Capsolver und Anti-CAPTCHA.

Vermeiden Sie direkte Links

Wenn Sie Ihren Scraper jeden Sekundenbruchteil direkt auf eine URL zugreifen lassen, würde die empfangende Website misstrauisch werden. Infolgedessen würde die Ziel-Website ein CAPTCHA auslösen.

Um ein solches Szenario zu vermeiden, könnten Sie den Referer-Header so einstellen, dass es so aussieht, als würde von einer anderen Seite verwiesen werden. Dies würde die Wahrscheinlichkeit verringern, als Bot erkannt zu werden. Alternativ könnten Sie den Bot veranlassen, andere Seiten zu besuchen, bevor er den gewünschten Link aufruft.

Honeypots vermeiden

Honeypots sind versteckte Elemente auf einer Webseite, die Sicherheitsexperten verwenden, um Bots oder Eindringlingen eine Falle zu stellen. Obwohl der Browser den HTML-Code wiedergibt, sind die CSS-Eigenschaften so eingestellt, dass sie nicht sichtbar sind. Im Gegensatz zu Menschen wäre der Code des Honigtopfs jedoch für die Bots sichtbar, wenn sie die Daten abgreifen. Daher tappten sie in die vom Honigtopf aufgestellte Falle.

Sie müssen also sicherstellen, dass die CSS-Eigenschaften aller Elemente auf einer Webseite nicht verborgen oder unsichtbar sind, bevor Sie mit dem Scraping beginnen. Erst wenn Sie sicher sind, dass keines der Elemente ausgeblendet ist, stellen Sie Ihren Bot für das Scraping ein.

Häufig gestellte Fragen

FAQs:

1. Was bedeutet das Umgehen von CAPTCHAs für Web Scraping?
Die Umgehung von CAPTCHAs besteht einfach darin, die Blocker zu entfernen, die beim Scraping von Daten von zahlreichen Websites entstehen. CAPTCHAs wurden entwickelt, um zu überprüfen, ob der Webverkehr organisch ist.
2. Was ist ReCaptcha?
ReCaptcha schützt Ihre Websites vor Spams und bösartigem Bot-Traffic. Es erzeugt interaktive Rätsel, um organischen Traffic von Bot-Traffic zu unterscheiden.
3. Wie hilft ein Proxy den Nutzern bei der Umgehung von Captchas?
Wenn Sie Webanfragen von einem Bot oder einer Scraping-Lösung zurücksenden, können die CAPTCHAs leicht erkennen, dass der Verkehr von einem Spam-Bot stammt. Die Verwendung von Proxy-Adressen von einem Proxy lässt Sie also eher wie ein Echtzeit-Traffic erscheinen.

Schlussfolgerung

Dieser Artikel soll Ihnen eine umfassende Vorstellung davon vermitteln, wie Sie CAPTCHAs beim Scrapen des Webs vermeiden können. Die Umgehung eines CAPTCHAs kann ein komplizierter Prozess sein. Mit den in diesem Artikel besprochenen spezifischen Techniken können Sie den Bot jedoch so entwickeln, dass CAPTCHAs vermieden werden.

Wir hoffen, dass Sie alle in diesem Artikel beschriebenen Techniken nutzen werden.