undefined
Blog > Web Scraping > Post

5 Anti Scraping Techniken, auf die Sie beim Web Scraping stoßen könnten

Wednesday, September 29, 2021

 

Mit Hilfe von Webcrawlern kann man einfach Daten aus dem Internet für die Datenanalyse erhalten. Es gibt verschiedene Möglichkeiten, einen eigenen Crawler zu erstellen: Erweiterungen in Browsern, Python-Programmierung mit Beautiful Soup und Scrapy und Datenextraktionstools wie Octoparse.

 

Allerdings gibt es immer einen Krieg zwischen Spidern und Anti-Bots. Webentwickler wenden verschiedene Arten von Anti Scraping Techniken an, um zu verhindern, dass ihre Websites gescrapt werden. In diesem Artikel habe ich fünf häufig benutzte Anti Scraping Techniken aufgelistet und erklärt, wie Sie sie beim Web Scraping umgehen können.  

 

5 Anti Scraping Techniken

IP

Captcha

Einloggen

UA (User-Agent)

AJAX

 

1. IP

Eine der einfachsten Methode für eine Website, Web-Scraping-Aktivitäten zu erkennen, ist die IP-Verfolgung. Wenn eine Website herausfindet, dass eine überwältigende Anzahl von Anfragen regelmäßig oder innerhalb eines kurzen Zeitraums von einer einzigen IP-Adresse gesendet wurde, besteht eine große Chance, dass die IP als Bot verdächtigt wird. In diesem Fall kommt es bei der Entwicklung eines Anti-Scraping-Crawlers vor allem auf die Anzahl und Häufigkeit der Besuche pro Zeiteinheit an. Hier sind einige Szenarien, denen Sie begegnen können.

Scenario 1: Mehrfache Besuche innerhalb von Sekunden. Es ist unmöglich, dass ein echter Mensch so schnell surfen kann. Wenn Ihr Crawler also häufige Anfragen an eine Website sendet, würde die Website die IP-Adresse definitiv sperren, denn sie werden als Roboter identifizieren.

Lösung: Verlangsamen Sie die Geschwindigkeit des Scrapings. Das Einrichten einer Verzögerungszeit (z. B. "Sleep"-Funktion) vor der Ausführung oder die Erhöhung der Wartezeit zwischen zwei Schritten sind empfehlenswert.

 

Scenario 2: Der Besuch einer Website in demselben Tempo. Ein echter Mensch wiederholt nicht immer die gleichen Verhaltensmuster. Einige Websites überwachen die Häufigkeit der Anfragen, und wenn die Anfragen in regelmäßigen Abständen nach genau demselben Muster gesendet werden, z. B. einmal pro Sekunde, wird der Anti-Scraping-Mechanismus sehr wahrscheinlich aktiviert.

LösungLegen Sie für jeden Schritt Ihres Crawlers eine zufällige Verzögerungszeit fest. Mit einer zufälligen Scraping-Geschwindigkeit würde sich der Crawler eher so verhalten, wie Menschen in einer Website surfen.

 

Scenario 3Einige hochentwickelte Anti-Scraping-Techniken beinhalten komplexe Algorithmen, um die Anfragen von verschiedenen IPs zu verfolgen und ihre durchschnittlichen Anfragen zu analysieren. Wenn die Anfrage einer IP-Adresse ungewöhnlich ist, z. B. wenn sie jeden Tag dieselbe Anzahl von Anfragen sendet oder dieselbe Website zur selben Zeit besucht, wird sie blockiert. 

LösungÄndern Sie Ihre IP regelmäßig. Die meisten VPN Services, Cloud Servers, und Proxy Services bieten rotierende IPs an. Wenn Anfragen über diese wechselnden IPs gesendet werden, verhält sich der Crawler weniger wie ein Bot, was das Risiko, blockiert zu werden, verringern kann.

 

 

Herausforderungen beim Web Scraping:

9 Web Scraping Challenges You Should Know

Web Scraping Challenges and Workarounds

Web Scraping 10 Myths that Everyone Should Know

 

 

2. Captcha

Haben Sie diese Art von Bild schon einmal gesehen, wenn Sie auf einer Website surften?

1.Sie müssen etwas klicken

captcha

 

2.Sie müssen bestimmte Bilder auswählen

select specific pics

 

3.Sie müssen die richtige Zeichenfolge eingeben/auswählen

right strings

 

 

Diese Bilder werden Captcha genannt. Captcha steht für Completely Automated Public Turing test to tell Computers and Humans Apart. Es handelt sich um ein öffentliches automatisches Programm, mit dem festgestellt werden kann, ob der Benutzer ein Mensch oder ein Roboter ist. Dieses Programm stellt verschiedene Aufgaben, wie z. B. ein verunstaltetes Bild, das Ausfüllen von Lücken oder sogar Gleichungen, die angeblich nur von einem Menschen gelöst werden können.

Dieser Test hat sich seit langem weiterentwickelt, und derzeit setzen viele Websites Captcha als Anti-Scraping-Technik ein. Früher war es sehr schwer, Captcha direkt zu überwinden. Heutzutage können jedoch viele Open-Source-Tools zur Lösung von Captcha-Problemen eingesetzt werden, auch wenn sie fortgeschrittenere Programmierkenntnisse erfordern. Manche Menschen bauen sogar ihre eigenen Funktionsbibliotheken und entwickeln Bilderkennungstechniken mit maschinellem Lernen oder Deep-Learning-Fähigkeiten, um Captcha zu bestehen.

 

Es ist einfacher, sie nicht auszulösen, als sie zu lösen.

 

Für die meisten Menschen ist es am einfachsten, den Extraktionsprozess zu verlangsamen oder zu randomisieren, um den Captcha-Test nicht auszulösen. Die Anpassung der Verzögerungszeit oder die Verwendung rotierender IPs kann die Chance, dass der Test ausgelöst wird, wirksam verringern.

 

Scrape without getting blocked

Video: How to Scrape Websites Without Getting Blacklisted or Blocked

 

 

 

3. Einloggen

Viele Websites, insbesondere Social-Media-Plattformen wie Twitter und Facebook, zeigen Informationen erst an, nachdem man sich auf der Website angemeldet hat. Um solche Websites zu crawlen, müssten die Crawler auch die Anmeldeschritte simulieren. 

Nach der Anmeldung auf der Website muss der Crawler die Cookies speichern. Ein Cookie ist ein kleiner Datensatz, der die Browsing-Daten der Nutzer speichert. Ohne die Cookies würde die Website vergessen, dass Sie sich bereits angemeldet haben, und würde Sie auffordern, sich erneut anzumelden.

Darüber hinaus erlauben einige Websites mit strengen Scraping-Mechanismen nur einen begrenzten Zugriff auf die Daten, wie z. B. 1000 Zeilen Daten pro Tag, selbst nach dem Einloggen. 

 

Ihr Bot muss wissen, wie man sich anmeldet

1) Simulieren Sie Tastatur- und Mausoperationen. Der Crawler sollte den Anmeldevorgang simulieren, der Schritte wie das Anklicken des Textfelds und der "Anmelden"-Schaltflächen mit der Maus oder das Eingeben von Konto- und Passwortinformationen mit der Tastatur umfasst.

2) Melden Sie sich zuerst an und speichern Sie dann die Cookies. Bei Websites, die Cookies zulassen, merken sie sich die Nutzer, indem sie ihre Cookies speichern. Mit diesen Cookies ist es nicht mehr nötig, sich kurzfristig erneut auf der Website anzumelden. Dank dieses Mechanismus kann Ihr Crawler langwierige Anmeldeschritte vermeiden und die benötigten Informationen scrapen. 

3) Wenn Sie unglücklicherweise auf die oben genannten strengen Scaping-Mechanismen stoßen, können Sie Ihren Crawler so einplanen, dass er die Website in einer festen Frequenz überwacht, z. B. einmal pro Tag. Planen Sie den Crawler so ein, dass er in bestimmten Zeitabständen die neuesten 1000 Datenzeilen scrapen und die neuesten Daten sammelt.

 

4. UA

UA steht für User-Agent, ein Header für die Website zur Identifizierung des Besuchs des Nutzers. Er enthält Informationen wie das Betriebssystem und seine Version, den CPU-Typ, den Browser und seine Version, die Browsersprache, ein Browser-Plug-in usw.

Ein Beispiel UA: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, wie Gecko) Chrome/17.0.963.56 Safari/535.11

Wenn Ihr Crawler beim Scrapen einer Website keine Header enthält, würde er sich nur als Skript zu erkennen geben (wenn man z. B. Python zur Erstellung des Crawlers verwendet, würde er sich als Python-Skript erkennen). Websites würden die Anfrage eines Skripts definitiv blockieren. In diesem Fall muss sich der Crawler mit einem UA-Header als Browser ausgeben, damit die Websites ihm Zugang gewähren können.

 

Manchmal zeigt eine Website verschiedene Seiten oder Informationen in verschiedenen Browsern oder verschiedenen Versionen an, selbst wenn Sie die Website mit derselben URL aufrufen. Es besteht die Möglichkeit, dass die Informationen mit einem Browser kompatibel sind, während andere Browser blockiert werden. Um sicherzugehen, dass Sie auf die richtige Seite gelangen, sind mehrere Browser und Versionen erforderlich.

 

Wechseln Sie zwischen verschiedenen UAs, um nicht blockiert zu werden

Ändern Sie die UA-Informationen, bis Sie die richtige gefunden haben. Einige sensible Websites, die komplexe Anti-Scraping-Techniken anwenden, können sogar den Zugriff blockieren, wenn sie über einen längeren Zeitraum dieselbe UA verwenden. In diesem Fall müssen Sie die UA-Informationen regelmäßig ändern. 

 

5. AJAX

Heutzutage werden immer mehr Websites mit AJAX entwickelt. AJAX steht für "Asynchronous JavaScript and XML" und ist eine Technik zur asynchronen Aktualisierung der Website. Kurz gesagt, die gesamte Website muss nicht neu geladen werden, wenn nur kleine Änderungen auf der Seite vorgenommen werden.

Wie können Sie also wissen, ob eine Website AJAX verwendet?

 

Eine Website ohne AJAX: Die gesamte Seite wird neu geladen, auch wenn Sie nur eine kleine Änderung an der Website vornehmen. Normalerweise würde ein Ladezeichen erscheinen und die URL würde sich ändern. Bei diesen Websites könnten wir uns den Mechanismus zunutze machen und versuchen, das Muster zu finden, wie die URLs sich ändern. Dann könnten Sie URLs nach diesem Muster generieren und Informationen direkt über diese URLs extrahieren, anstatt Ihrem Crawler beizubringen, wie Menschen auf Websites zu navigieren.

 

Eine Website mit AJAX: Nur die Stelle, auf die Sie klicken, wird geändert und es erscheint kein Ladezeichen. Normalerweise ändert sich die Web-URL nicht, so dass der Crawler sie auf unkomplizierte Weise verarbeiten muss.

 

Für einige komplexe Websites, die mit AJAX entwickelt wurden, wären spezielle Techniken erforderlich, um die einzigartigen verschlüsselten Wege auf diesen Websites zu finden und die verschlüsselten Daten zu extrahieren. Die Lösung dieses Problems könnte zeitaufwändig sein, da die verschlüsselten Wege auf den verschiedenen Seiten unterschiedlich sind. Wenn Sie einen Browser mit eingebauten JS-Operationen finden, könnte dieser die Website automatisch entschlüsseln und die Daten extrahieren. 

 

Web scraping and anti-scraping techniques are making progress every day. Perhaps these techniques would be outdated when you are reading this article. However, you could always get help from us, from Octoparse. Here at Octoparse, our mission is to make data accessible to anyone, in particular, those without technical backgrounds. As a web-scraping tool, we can provide you ready-to-deploy solutions for all these five anti-scraping techniques. Feel free to contact us when you need a powerful web-scraping tool for your business or project!

Web-Scraping und Anti-Scraping-Techniken machen jeden Tag Fortschritte. Vielleicht sind diese Techniken schon veraltet, wenn Sie diesen Artikel lesen. Sie können jedoch jederzeit Hilfe von uns, von Octoparse, erhalten. Wir haben es uns zur Aufgabe gemacht, Daten für jedermann zugänglich zu machen, insbesondere für diejenigen, die keinen technischen Hintergrund haben. Mit Octoparse können wir Ihnen einsatzbereite Lösungen für all diese fünf Anti-Scraping-Techniken anbieten. Wenden Sie sich an uns, wenn Sie ein leistungsstarkes Web-Scraping-Tool für Ihr Unternehmen oder Projekt benötigen!

 

 

Autor: Jiahao Wu

Quelle:

Megan Mary Jane. 2019. How to bypass anti-scraping techniques in web scraping. Retrieved from: https://bigdata-madesimple.com/how-to-bypass-anti-scraping-techniques-in-web-scraping/

 

 

Herausforderungen beim Web Scraping:

9 Web Scraping Challenges You Should Know

Web Scraping Challenges and Workarounds

Web Scraping 10 Myths that Everyone Should Know

5 Anti-Scraping Techniques You May Encounter

 

 

 

Laden Sie Octoparse herunter, um mit Web-Scraping zu beginnen, oder kontaktieren Sie uns
für die Fragen über Web Scraping!

Kontaktieren Sie uns Herunterladen
btnImg
Diese Website verwendet Cookies um Ihnen ein besseres Internet-Erlebnis zu ermöglichen. Lesen Sie wie wir Cookies verwenden und Sie können sie kontrollieren, indem Sie auf Cookie-Einstellungen klicken. Wenn Sie die Website weiter nutzen, akzeptieren Sie unsere Verwendung von Cookies.
Akzeptieren Ablehnen