Das Crawlen des Webs ist für die öffentliche Datenerfassung unerlässlich. Diese Daten werden später zur Verbesserung von Geschäfts- und Marketingstrategien verwendet. Beim Scraping von Daten auf die schwarze Liste zu kommen, ist ein häufiges Problem für diejenigen, die nicht wissen, wie sie eine Website crawlen können, ohne blockiert zu werden. Wir haben eine Liste mit Tipps zusammengestellt, wie Sie beim Crawlen des Webs verborgen bleiben.

Webseiten erkennen zunächst Web-Crawler und Tools, indem sie deren IP-Adressen, Benutzeragenten, Browserparameter und allgemeines Verhalten überprüfen. Wenn die Website es verdächtig findet, erhalten Sie CAPTCHAs. Dann werden Ihre Anfragen schließlich blockiert, da Ihr Crawler erkannt wird.

Kennst du das? Brauchst du praktische Techniken zum anonymen Scraping? Dann bist du hier richtig! Lass uns anfangen!

Ein wenig über das Web-Crawling

Beim Web-Crawling geht es im Wesentlichen um das Katalogisieren von Informationen, die im Internet oder in bestimmten Datenspeichern zu finden sind. Diese Aufgabe wird von Webcrawlern ausgeführt, die oft als „Spider“ bezeichnet werden und das World Wide Web systematisch durchsuchen, um die verfügbaren Informationen zu indizieren.

Ein Paradebeispiel für Web-Crawling in Aktion sind die Vorgänge, die von gängigen Webbrowsern wie Google, Yahoo oder Bing ausgeführt werden. Diese Browser greifen systematisch nacheinander auf Websites zu und indizieren sorgfältig den gesamten Inhalt dieser Webseiten.

Aus geschäftlicher Sicht fallen alle webbezogenen Versuche, bei denen die Informationsindizierung gegenüber der Datenextraktion im Vordergrund steht, unter die Kategorie des Web-Crawlings.

11 Geheimtipps für anonymes Web-Crawling

Tauchen wir ein in anonymes Web-Crawling, finden Sie die besten Techniken und Datenschutztipps, um sicherzustellen, dass Sie beim Crawlen verborgen bleiben.

Wir haben einige wirklich tolle Tipps zum Datenschutz bei Crawlern zusammengestellt, damit Sie Ihre Identität schützen, die Website-Richtlinien einhalten und Ihre Crawls ethisch und anonym durchführen können:

1. Machen Sie das Crawlen langsamer

Eine IP-Adresse hat eine begrenzte Anzahl von Aktionen, die zu einem bestimmten Zeitpunkt auf der Website ausgeführt werden können. Wenn ein Mensch auf eine Webseite zugreift, ist die Geschwindigkeit verständlicherweise geringer als beim Web-Crawling. Um beim Crawling verborgen zu bleiben und das Risiko einer Blockierung zu verringern, sollten Sie Ihre Crawling-Geschwindigkeit verringern. Sie können beispielsweise zufällige Pausen zwischen den Anfragen einfügen oder Wartebefehle initiieren, bevor Sie eine bestimmte Aktion ausführen.

Web-Scraping Bots holen Daten sehr schnell, aber eine Site kann Ihren Scraper leicht erkennen, da Menschen nicht so schnell browsen können. Je schneller Sie crawlen, desto schlimmer ist es für alle. Wenn eine Website zu viele Anfragen erhält, kann sie diese möglicherweise nicht mehr verarbeiten. Lassen Sie Ihren Spider echt aussehen, indem Sie menschliche Aktionen nachahmen. Fügen Sie zwischen den Anfragen einige zufällige programmatische Sleep-Aufrufe ein, fügen Sie nach dem Crawlen einer kleinen Anzahl von Seiten einige Verzögerungen hinzu und wählen Sie die geringstmögliche Anzahl gleichzeitiger Anfragen. Idealerweise legen Sie eine Verzögerung von 10 bis 20 Sekunden zwischen den Klicks fest und belasten Sie die Website nicht zu stark, um sie nicht zu sehr zu belasten.

2. Vermeiden Sie Image Scraping

Bilder sind datenintensive Objekte, die häufig urheberrechtlich geschützt sind. Sie benötigen nicht nur zusätzliche Bandbreite und Speicherplatz, sondern es besteht auch ein höheres Risiko, die Rechte anderer zu verletzen.
Außerdem sind sie oft in JavaScript-Elementen „hinter Lazy Loading“ versteckt, was die Komplexität des Datenerfassungsprozesses erheblich erhöht und den Web Scraper selbst verlangsamt. Sie müssen also auch JavaScript vermeiden.

3. Verwenden Sie einen Crawling API

Die Crawlbase Crawling API bietet Sicherheit durch Automatisierung der meisten Dinge, die Kopfschmerzen bereiten. Sie können entweder alles selbst erledigen oder die API verwenden, um so viel Crawling durchzuführen, wie Sie benötigen.

Zweifellos ist es einer der besten Crawler-Datenschutztipps. Unsere Crawling API schützt Ihren Webcrawler vor blockierten Anfragen, Proxy-Fehlern, IP-Lecks, Browserabstürzen und CAPTCHAs.

Jetzt werden wir sehen, wie Sie Python 3 zum Scrapen von Walmart verwenden können. Um mit der Ausführung des Skripts zu beginnen, müssen wir zunächst einige Informationen sammeln, wie:

  1. Die Crawling API URL https://api.crawlbase.com
  2. Ihr Crawlbase-Token
  3. Walmart-URL (in unserem Fall Ausverkauf)

Dann müssen wir einige relevante Module importieren.

1
2
3
für urllib.request importieren urlopen
für urllib.parse importieren Zitat_plus
importieren JSON

Nachdem wir nun die Module importiert und die relevanten Informationen gesammelt haben, müssen wir die URL zum Scraping und die Scraping-API mit einigen Parametern wie einem Token übergeben, um die Anforderungen zu erfüllen.

1
2
3
URL = Zitat_plus(„https://www.walmart.com/browse/home/4044?cat_id=4044&facet=special_offers%3AClearance“)

handler = urlopen('https://api.crawlbase.com/?token=YOUR_TOKEN&format=json&url=' + URL)

Der vollständige Code sieht ungefähr so ​​aus, wobei wir das Endergebnis so formatieren, dass es ansprechend aussieht.

1
2
3
4
5
6
7
8
9
10
für urllib.request importieren urlopen
für urllib.parse importieren Zitat_plus
importieren JSON

URL = Zitat_plus(„https://www.walmart.com/browse/home/4044?cat_id=4044&facet=special_offers%3AClearance“)

handler = urlopen('https://api.crawlbase.com/?token=YOUR_TOKEN&format=json&url=' + URL)

parsed_json = json.loads(handler.read())
drucken(parsed_json['Körper'])

Die endgültige Ausgabe wird im Ausgabefenster angezeigt, wenn Sie die Taste Strg + F10 drücken (unter Windows).

JSON-Antwort

Wir haben auch eine verfügbare Bibliothek für Python die Sie verwenden können.

4. Respektieren Sie die Robots.txt-Datei

Zunächst müssen Sie verstehen, was eine robots.txt-Datei ist und welchen Mechanismus sie hat. Die robots.txt-Datei befindet sich im Stammverzeichnis der Website. Sie legt die Crawling-Regeln fest, also welche Teile der Website nicht gescrapt werden sollen und wie häufig gescrapt werden darf. Manche Websites erlauben das Scraping nicht. Im Grunde teilt sie den Suchmaschinen-Crawlern also mit, welche Seiten oder Dateien der Crawler von Ihrer Website anfordern darf und welche nicht. Ein Bot, der so programmiert ist, dass er die in robots.txt festgelegten Regeln befolgt, wird diese Regeln standardmäßig befolgen und Daten abrufen. Dies wird hauptsächlich verwendet, um eine Überlastung einer Website mit Anfragen zu vermeiden.

Beispielsweise weist diese robots.txt-Datei alle Suchmaschinenroboter an, keine Inhalte der Website zu indizieren. Dies wird dadurch erreicht, dass das Stammverzeichnis / Ihrer Website nicht zugelassen wird.

User-agent: *
Disallow: /

Sie können die robots.txt-Datei immer noch finden, um Bingbot nur in einigen Fällen das Scraping von Daten zu erlauben. Im Gegensatz dazu ist es allen anderen Bots verboten, Daten zu extrahieren. Da dies jedoch vom Websitebesitzer entschieden wird, können Sie nichts tun, um diese Regel zu umgehen.

Sie sollten auch beachten, dass Websitebesitzer, wenn sie keine Möglichkeit finden, das Crawling auf ihren Websites zu stoppen, einfach Captchas und/oder Textnachrichtenvalidierungen für alle Links implementieren, was jeden Menschen oder Bot beim Zugriff auf die Links sicherlich stören wird. Wenn Ihr Grund jedoch legitim ist, können Sie trotzdem damit fortfahren.

5. Vorsicht vor Honeypot-Fallen

Installierte Honeypots sind Links im HTML-Code. Diese Links sind für normale Benutzer unsichtbar, aber Web Scraper können sie erkennen. Honeypots werden verwendet, um Webcrawler zu identifizieren und zu blockieren, da nur Roboter diesem Link folgen würden. Honeypots sind Systeme, die eingerichtet werden, um Hacker anzulocken und alle Hacking-Versuche zu erkennen, die versuchen, an Informationen zu gelangen.

Einige Honeypot-Links zur Erkennung von Spidern verwenden den CSS-Stil „display: none“ oder eine Farbe, die so getarnt ist, dass sie mit der Hintergrundfarbe der Seite übereinstimmt. Diese Erkennung ist offensichtlich nicht einfach und erfordert einen erheblichen Programmieraufwand, um sie richtig durchzuführen. Aus diesem Grund wird diese Technik nicht häufig verwendet.

6. Vermeiden Sie Session-URL-Trap

Sitzungen werden verwendet, um Besucherdaten nur für diesen Besuch zu speichern. Die meisten Frameworks verwenden Sitzungen. Jede Sitzung erhält normalerweise eine eindeutige ID (12345zxcv aus dem Beispiel: “https://www.example.com/?session=12345zxcv“). Sitzungsdaten werden bekanntlich in Cookies gespeichert. Eine Sitzungs-ID wird angezeigt, wenn Sitzungsdaten aus bestimmten Gründen, beispielsweise aufgrund einer Fehlkonfiguration des Servers, nicht in einem Cookie gespeichert werden.

Jeder Besuch eines Crawlers stellt einen „neuen Besuch“ dar und erhält eine neue Sitzungs-ID. Dieselbe URL, die zweimal gecrawlt wird, erhält zwei verschiedene Sitzungs-IDs und zwei verschiedene URLs. Jedes Mal, wenn ein Crawler eine Seite crawlt, sehen alle Links mit der neuen Sitzungs-ID wie neue Seiten aus, was zu einer Explosion von URLs führt, die zum Crawlen bereit sind.

Um die Session-URL-Falle zu vermeiden, besuchen Sie einfach Ihre Website, deaktivieren Sie Cookies und klicken Sie auf ein paar Links. Wenn in der URL eine Sitzungs-ID erscheint, sind Sie anfällig für die Session-URL-Falle. Der On-Page-SEO-Crawler von MarketingTracer ist darauf ausgelegt, diese Crawl-Falle zu erkennen. Überprüfen Sie einfach Ihren Crawl-Index und filtern Sie nach „Sitzung“.

7. Überprüfen Sie, ob die Website das Layout ändert

Anonymes Web-Crawling kann für einige Websites, die Scraper gut kennen, schwierig sein und kann ein wenig knifflig sein, da sie mehrere Layouts haben können. Beispielsweise können einige Seitensätze ein anderes Layout haben als der Rest. Um dies zu vermeiden, können Sie unterschiedliche Pfade oder CSS-Selektoren zum Scrapen von Daten verwenden. Oder wie Sie eine Bedingung in Ihren Code einfügen können, um diese Seiten unterschiedlich zu scrapen.

8. Wie erkennen und blockieren Websites Web Scraping?

Websites verwenden unterschiedliche Techniken, um einen Web-Spider/Scraper von einer realen Person zu unterscheiden. Einige dieser Mechanismen sind unten aufgeführt:

  1. Ungewöhnlich hohe Downloadrate/Verkehr: insbesondere von einem einzelnen Client bzw. einer einzelnen IP-Adresse innerhalb eines kurzen Zeitraums.
  2. Wiederholte Aufgaben, die im gleichen Browsing-Muster abgeschlossen werden: basierend auf der Annahme, dass ein menschlicher Benutzer die sich wiederholenden Aufgaben nicht jedes Mal ausführen wird.
  3. Überprüfen, ob Ihr Browser echt ist: Eine einfache Überprüfung besteht darin, zu versuchen, JavaScript auszuführen. Intelligentere Tools können noch einen Schritt weiter gehen, indem sie Ihre GPUs und CPUs überprüfen, um sicherzustellen, dass Sie einen echten Browser verwenden.
  4. Erkennung mit Honeypots: Honeypots sind normalerweise Links, die für einen normalen Benutzer unsichtbar sind, aber nur für einen Spider. Wenn ein Web-Spider/Scraper versucht, auf den Link zuzugreifen, werden die Alarme ausgelöst.

Möglicherweise müssen Sie im Vorfeld einige Zeit damit verbringen, die Scraping-Risiken der Website zu untersuchen, um das Auslösen eines Anti-Scraping-Mechanismus zu vermeiden, und entsprechend einen Spider-Bot erstellen.

9. Verwenden Sie APIs zum Lösen von Captchas:

Wenn Sie anfangen, Websites in großem Umfang zu durchsuchen, werden Sie irgendwann blockiert. Sie werden CAPTCHA-Seiten vor den normalen Webseiten sehen. Dienste wie Anticaptcha oder 2Captcha umgehen diese Einschränkungen.

Für anonymes Web-Crawling Bei Websites, die Captcha verwenden, ist es besser, Captcha-Dienste in Anspruch zu nehmen, da diese vergleichsweise günstiger sind als benutzerdefinierte Captcha-Löser, was bei der Durchführung groß angelegter Scrapings nützlich ist.

10. Vermeiden Sie das Scraping hinter einem Anmeldeformular:

Anmeldeformulare für private Plattformen wie Facebook, Instagram und LinkedIn senden Anmeldeinformationen oder Cookies zusammen mit Anfragen zum Anzeigen der Seite, was es wiederum einer Zielwebsite erleichtert, eingehende Anfragen von derselben Adresse zu sehen. Ein Scraper müsste dies bei jeder Anfrage tun und dies könnte Ihre Anmeldeinformationen entfernen oder Ihr Konto sperren, was dazu führt, dass Web-Scraping-Bemühungen blockiert werden.

Es wird empfohlen, das Scraping von Websites mit Anmeldeformularen zu vermeiden, um nicht leicht blockiert zu werden und beim Kriechen versteckt bleiben. Dies lässt sich jedoch vermeiden, indem Sie mit Browsern menschliches Verhalten nachahmen, wenn zum Abrufen Ihrer Zieldaten eine Authentifizierung erforderlich ist.

11. Ändern Sie Ihr Crawling-Verhalten:

Eine der besten anonymen Scraping-Techniken, um zu verhindern, dass eine Website Ihren Crawler aufgrund eines sich wiederholenden Crawling-Musters automatisch blockiert, besteht darin, etwas Abwechslung in Ihren Ansatz zu bringen. Wenn Ihr Crawler konsequent demselben Muster folgt, wird es für die Website einfach, ihn anhand seiner vorhersehbaren Aktionen zu identifizieren.

Es wird empfohlen, gelegentlich einige Änderungen am Verhalten Ihres Crawlers vorzunehmen. Dies könnte zufällige Klicks oder Scroll-Aktionen umfassen, um das Verhalten eines normalen Benutzers auf der Site nachzuahmen. Es ist auch eine gute Idee, sich die Zeit zu nehmen, die Struktur der Website zu erkunden, indem Sie sie manuell aufrufen, bevor Sie eine umfangreiche Scraping-Sitzung starten. Auf diese Weise können Sie besser verstehen, wie Sie sich nahtlos in den natürlichen Fluss der Site einfügen können.

Woher wissen Sie, ob Sie von einer Website gesperrt oder blockiert wurden?

Die folgenden Anzeichen zeigen, dass Ihr Scraping von einer bestimmten Website blockiert ist:

  • Häufige HTTP 404-, 301- oder 50x-Fehlerantworten
  • CAPTCHA-Seiten
  • Ungewöhnliche Verzögerungen bei der Bereitstellung von Inhalten
    Zu den häufigsten zu überprüfenden Fehlermeldungen zählen:
  • 503 - Dienst nicht verfügbar
  • 429 – Zu viele Anfragen
  • 408 – Anforderungs-Timeout
  • 403 – Angeforderte Ressource verboten
  • 404 Nicht gefunden
  • 401 – Nicht autorisierter Client
  • 301 - Dauerhaft verschoben

Verstößt das Crawlen von Websites gegen das Gesetz?

Das Crawlen oder Scrapen einer Website ist grundsätzlich nicht illegal, solange Sie nicht gegen die Servicebedingungen (ToS) der Website verstoßen. Es ist wichtig, dass der von Ihnen verwendete Web Scraper nicht versucht, sich anzumelden oder auf eingeschränkte Bereiche der Website zuzugreifen, da dies gegen die Servicebedingungen der Website verstoßen würde.

Es besteht jedoch ein weit verbreitetes Missverständnis, dass das Scraping aller Arten öffentlicher Daten immer legal ist. Einige Inhalte wie Bilder, Videos und Artikel können als kreative Werke betrachtet werden und sind urheberrechtlich geschützt. Sie können Ihren Web Scraper nicht frei verwenden, um solches urheberrechtlich geschütztes Material zu sammeln und zu verwenden.

In manchen Fällen wird in den Nutzungsbedingungen bestimmter Websites ausdrücklich darauf hingewiesen, dass Scraping nicht erlaubt ist. In diesen Situationen kann es als illegal angesehen werden. Daher ist es wichtig, die von jeder Website festgelegten Regeln einzuhalten, um sicherzustellen, dass Sie Daten legal scrapen.

Schlussfolgerung

Hoffentlich haben Sie durch das Lesen dieses Artikels neue anonyme Scraping-Techniken gelernt. Ich muss Sie daran erinnern, die robots.txt-Datei weiterhin zu respektieren. Versuchen Sie außerdem, keine großen Anfragen an kleinere Websites zu stellen. Alternativ können Sie Crawlbase verwenden. Crawling API das alles selbst bestimmt, um Ihre kostbare Zeit nicht zu verschwenden und sich darauf zu konzentrieren, die Dinge pünktlich und in skalierbarer Weise zu erledigen.