In diesem Beitrag besprechen wir die Best Practices für Web Scraping. Und da ich glaube, dass viele von Ihnen darüber nachdenken, werde ich gleich das Offensichtliche ansprechen. Ist es legal? Höchstwahrscheinlich ja.
Das Scraping von Websites ist grundsätzlich legal, allerdings nur unter gewissen vernünftigen Voraussetzungen (lesen Sie einfach weiter).
Es hängt auch von Ihrem geografischen Standort ab. Da ich kein Genie bin, weiß ich nicht, wo Sie sich befinden, und kann es daher nicht mit Sicherheit sagen. Informieren Sie sich über die Gesetze in Ihrem Land und beschweren Sie sich nicht, wenn wir „schlechte Ratschläge“ geben, haha.
Spaß beiseite, an den meisten Orten ist das okay; aber seien Sie dabei nicht so ein Arschloch und halten Sie sich von urheberrechtlich geschütztem Material, persönlichen Daten und Dingen hinter einem Anmeldebildschirm fern.
Wir empfehlen, die folgenden Best Practices für das Web Scraping zu befolgen:
1. Robots.txt beachten
Möchten Sie wissen, wie Sie Websites friedlich scrapen können? Beachten Sie einfach die robots.txt-Datei der Website. Diese Datei im Stammverzeichnis einer Website gibt an, welche Seiten von Bots gescrapt werden dürfen und welche tabu sind. Das Befolgen der robots.txt-Datei ist ebenfalls wichtig, da dies je nach Standort zur Sperrung Ihrer IP oder zu rechtlichen Konsequenzen führen kann.
2. Legen Sie eine angemessene Crawling-Rate fest
Um eine Überlastung, ein Einfrieren oder Abstürzen der Website-Server zu vermeiden, kontrollieren Sie die Rate Ihrer Anfragen und berücksichtigen Sie Zeitintervalle. Einfacher ausgedrückt: Gehen Sie mit der Crawl-Rate langsam um. Um dies zu erreichen, können Sie Scrapy oder Selenium verwenden und Verzögerungen in die Anfragen einbauen.
3. Rotieren Sie Benutzeragenten und IP-Adressen
Websites können Scraping-Bots anhand der User-Agent-Zeichenfolge oder der IP-Adresse identifizieren und blockieren. Ändern Sie die User-Agents und IP-Adressen gelegentlich und verwenden Sie eine Reihe echter Browser. Verwenden Sie die User-Agent-Zeichenfolge und erwähnen Sie sich selbst in gewissem Umfang darin. Ihr Ziel ist es, nicht erkannt zu werden, also stellen Sie sicher, dass Sie es richtig machen.
4. Vermeiden Sie das Scraping hinter Anmeldeseiten
Sagen wir einfach, dass das Scraping von Daten hinter einem Login grundsätzlich falsch ist. Richtig? Okay? Ich weiß, dass viele von Ihnen diesen Abschnitt überspringen werden, aber trotzdem … Versuchen Sie, das Scraping auf öffentliche Daten zu beschränken, und wenn Sie hinter einem Login scrapen müssen, fragen Sie vielleicht um Erlaubnis. Ich weiß nicht, hinterlassen Sie einen Kommentar, wie Sie dabei vorgehen würden. Scrapen Sie Daten hinter einem Login?
5. Extrahierte Daten analysieren und bereinigen
Die ausgelesenen Daten sind oft unbearbeitet und können irrelevante oder sogar unstrukturierte Informationen enthalten. Vor der Analyse müssen die Daten vorverarbeitet und mithilfe von Regex-, XPath- oder CSS-Selektoren bereinigt werden. Beseitigen Sie dazu die Redundanz, korrigieren Sie die Fehler und behandeln Sie die fehlenden Daten. Nehmen Sie sich Zeit für die Bereinigung, denn Sie benötigen Qualität, um Kopfschmerzen zu vermeiden.
6. Dynamische Inhalte verarbeiten
Die meisten Websites verwenden JavaScript, um den Seiteninhalt zu generieren, und das ist ein Problem für herkömmliche Scraping-Techniken. Um die dynamisch geladenen Daten abzurufen und zu scrapen, können Sie Headless-Browser wie Puppeteer oder Tools wie Selenium verwenden. Konzentrieren Sie sich nur auf die Aspekte, die für die Verbesserung der Effizienz von Interesse sind.
7. Implementieren Sie eine robuste Fehlerbehandlung
Es ist notwendig, Fehler zu korrigieren, um Programmfehler zu vermeiden, die durch Netzwerkprobleme, Ratenbegrenzungen oder Änderungen in der Website-Struktur verursacht werden. Wiederholen Sie die fehlgeschlagenen Anfragen, beachten Sie die Ratenbegrenzungen und ändern Sie die Analyse, wenn sich die Struktur des HTML geändert hat. Notieren Sie die Fehler und befolgen Sie die Aktivitäten, um die Probleme zu identifizieren und zu lösen.
8. Respektieren Sie die Nutzungsbedingungen der Website
Bevor Sie eine Website scrapen, sollten Sie die Nutzungsbedingungen der Website durchlesen. Einige von ihnen erlauben Scraping nicht oder haben bestimmte Regeln und Vorschriften, die befolgt werden müssen. Wenn die Bedingungen nicht eindeutig sind, sollten Sie den Eigentümer der Website kontaktieren, um weitere Informationen zu erhalten.
9. Berücksichtigen Sie die rechtlichen Auswirkungen
Stellen Sie sicher, dass Sie die Daten legal scrapen und verwenden dürfen, einschließlich Urheberrechts- und Datenschutzfragen. Es ist verboten, urheberrechtlich geschütztes Material oder persönliche Informationen anderer Personen zu scrapen. Wenn Ihr Unternehmen von Datenschutzgesetzen wie der DSGVO betroffen ist, stellen Sie sicher, dass Sie diese einhalten.
10. Erkunden Sie alternative Methoden der Datenerfassung
Es wird empfohlen, vor dem Scraping nach anderen Datenquellen zu suchen. Es gibt viele Websites, die APIs oder Datensätze zum Herunterladen bereitstellen, und das ist viel bequemer und effizienter als Scraping. Prüfen Sie also, ob es Abkürzungen gibt, bevor Sie den langen Weg einschlagen.
11. Implementieren Sie Datenqualitätssicherung und -überwachung
Finden Sie heraus, wie Sie die Qualität der Scraped-Daten verbessern können. Überprüfen Sie den Scraper und die Qualität der Daten täglich, um Anomalien zu erkennen. Implementieren Sie automatisierte Überwachungs- und Qualitätsprüfungen, um Probleme zu erkennen und zu vermeiden.
12. Verabschieden Sie eine formelle Richtlinie zur Datenerfassung
Um sicherzustellen, dass Sie alles richtig und legal machen, erstellen Sie eine Richtlinie zur Datenerfassung. Nehmen Sie darin die Regeln, Empfehlungen und rechtlichen Aspekte auf, die Ihr Team kennen sollte. Sie schließt das Risiko eines Datenmissbrauchs aus und stellt sicher, dass jeder die Regeln kennt.
13. Bleiben Sie informiert und passen Sie sich an Änderungen an
Web Scraping ist ein aktives Feld, das durch das Aufkommen neuer Technologien, rechtlicher Probleme und Websites gekennzeichnet ist, die ständig aktualisiert werden. Stellen Sie sicher, dass Sie die Kultur des Lernens und der Flexibilität übernehmen, damit Sie auf dem richtigen Weg sind.
Verpacken!
Wenn Sie mit einigen der tollen Spielzeuge spielen möchten, die uns zur Verfügung stehen (tun Sie sich selbst einen Gefallen und suchen Sie nach einigen Python-Bibliotheken), dann … nun, bitte zeigen Sie gute Manieren, und seien Sie auch klug, wenn Sie den ersten Ratschlag ignorieren.
Hier sind einige der Best Practices, über die wir gesprochen haben:
- Beachten Sie robots.txt
- Crawling-Geschwindigkeit steuern
- Rotieren Sie Ihre Identität
- Vermeiden Sie private Bereiche
- Daten bereinigen und analysieren
- Effizienter Umgang mit Fehlern
- Sei brav und halte dich an die Regeln
Da Daten immer wertvoller werden, stehen Web Scraper vor der Entscheidung:
Respektieren Sie die robots.txt-Datei, ja oder nein? Das liegt bei Ihnen.
Kommentieren Sie unten, was halten Sie davon?