Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bewährte Methoden für ethische Webcrawler
In diesem Abschnitt werden bewährte Verfahren und wichtige ethische Überlegungen zum Aufbau einer Web-Crawling-Anwendung erörtert, die Umwelt-, Sozial- und Unternehmensführungsdaten (ESG) sammelt. Wenn Sie sich an diese bewährten Methoden halten, können Sie Ihr Projekt und Ihre Organisation schützen und zu einem verantwortungsvolleren und nachhaltigeren Web-Ökosystem beitragen. Dieser Ansatz hilft Ihnen, auf wertvolle Daten zuzugreifen und sie für Forschung, Wirtschaft und Innovation auf eine Weise zu nutzen, die alle Beteiligten respektiert.
Einhaltung von Robots.txt
Die Datei robots.txt wird auf Websites verwendet, um mit Webcrawlern und Bots darüber zu kommunizieren, welche Teile der Website aufgerufen oder gecrawlt werden sollen und welche nicht. Wenn ein Webcrawler auf einer Website auf die Datei robots.txt trifft, analysiert er die Anweisungen und passt sein Crawling-Verhalten entsprechend an. Dadurch wird verhindert, dass der Crawler gegen die Anweisungen des Website-Besitzers verstößt, und es wird eine kooperative Beziehung zwischen der Website und dem Crawler aufrechterhalten. Daher hilft die Datei robots.txt bei der Zugriffskontrolle, beim Schutz sensibler Inhalte, beim Lastmanagement und bei der Einhaltung gesetzlicher Vorschriften.
Wir empfehlen Ihnen, die ACM bewährte Methode für zu befolgen.
-
Überprüfen und respektieren Sie immer die Regeln in der Datei robots.txt.
-
Bevor Sie eine URL crawlen, überprüfen Sie die Regeln sowohl für Desktop- als auch für mobile Benutzeragenten.
-
Wenn die Website nur mobile Benutzeragenten zulässt, verwenden Sie für Ihre Anfrage einen anderen Agent-Header, z. B. einen Mobile-Agent-Header.
Das Fehlen einer Datei robots.txt bedeutet nicht unbedingt, dass Sie eine Website nicht crawlen können oder sollten. Das Crawlen sollte immer verantwortungsbewusst durchgeführt werden, wobei die Ressourcen der Website und die impliziten Rechte des Eigentümers zu respektieren sind. Für den Fall, dass keine robots.txt vorhanden ist, werden die folgenden bewährten Methoden empfohlen:
-
Gehen Sie davon aus, dass das Crawlen erlaubt ist, gehen Sie aber vorsichtig vor.
-
Wenden Sie höfliche Crawling-Praktiken an.
-
Erwägen Sie, den Eigentümer der Website um Erlaubnis zu bitten, wenn Sie vorhaben, ausgiebiges Crawlen durchzuführen.
Begrenzung der Crawl-Rate
Verwenden Sie eine angemessene Crawling-Rate, um eine Überlastung des Servers zu vermeiden. Implementieren Sie Verzögerungen zwischen Anfragen, entweder wie in der Datei robots.txt angegeben oder indem Sie eine zufällige Verzögerung verwenden. Für kleine oder mittelgroße Websites kann eine Anfrage alle 10—15 Sekunden angemessen sein. Für größere Websites oder Websites mit ausdrücklichen Crawlberechtigungen können 1—2 Anfragen pro Sekunde angemessen sein.
Transparenz durch Benutzeragenten
Identifizieren Sie Ihren Crawler im User-Agent-Header. Diese HTTP-Header-Informationen dienen dazu, das Gerät zu identifizieren, das den Inhalt anfordert. In der Regel ist das Wort Bot im Namen des Agenten enthalten. Crawler und andere Bots verwenden manchmal ein wichtiges Feld in der Kopfzeile, um Kontaktinformationen hinzuzufügen.
Effizientes Crawlen
Verwenden Sie die Sitemap, die vom Eigentümer der Website entwickelt wurde, um sich auf wichtige Seiten zu konzentrieren.
Adaptiver Ansatz
Programmieren Sie den Crawler so, dass er zu einem mobilen Benutzeragenten wechselt, falls die Desktop-Version nicht erfolgreich ist. Dies kann dem Crawler Zugriff gewähren und die Belastung des Servers der Website verringern.
Fehlerbehandlung
Stellen Sie sicher, dass der Crawler verschiedene HTTP-Statuscodes angemessen behandelt. Der Crawler sollte beispielsweise pausieren, wenn er auf den Statuscode 429 („Zu viele Anfragen“) trifft. Wenn der Crawler kontinuierlich 403-Statuscodes („Verboten“) empfängt, sollten Sie erwägen, das Crawlen zu beenden.
Das Crawlen erfolgt stapelweise
Wir empfehlen Folgendes:
-
Anstatt alle URLs auf einmal zu crawlen, teilen Sie die Aufgabe in kleinere Batches auf. Dies kann dazu beitragen, die Last zu verteilen und das Risiko von Problemen wie Timeouts oder Ressourcenengpässen zu verringern.
-
Wenn davon ausgegangen wird, dass die gesamte Crawling-Aufgabe lange andauern wird, sollten Sie erwägen, sie in mehrere kleinere, leichter zu verwaltende Aufgaben aufzuteilen. Dadurch kann der Prozess skalierbarer und belastbarer werden.
-
Wenn die Anzahl der URLs zu durchforstenden Personen relativ gering ist, sollten Sie die Verwendung einer serverlosen Lösung in Betracht ziehen, z. B. AWS Lambda Lambda-Funktionen eignen sich hervorragend für kurzlebige, ereignisgesteuerte Aufgaben, da sie automatisch skalieren und das Ressourcenmanagement übernehmen.
Sicherheit
Für Web-Crawling-Rechenaufgaben empfehlen wir, die Umgebung so zu konfigurieren, dass nur ausgehender Datenverkehr zugelassen wird. Dies trägt zur Erhöhung der Sicherheit bei, indem die Angriffsfläche minimiert und das Risiko eines unbefugten eingehenden Zugriffs verringert wird. Wenn nur ausgehende Verbindungen zugelassen werden, kann der Crawling-Prozess mit den Ziel-Websites kommunizieren und die erforderlichen Daten abrufen. Außerdem wird jeglicher eingehende Datenverkehr eingeschränkt, der das System potenziell gefährden könnte.
Weitere Überlegungen
Lesen Sie die folgenden zusätzlichen Überlegungen und bewährten Methoden:
-
Suchen Sie in den Nutzungsbedingungen oder Datenschutzbestimmungen der Website nach den Crawling-Richtlinien.
-
Suchen Sie im HTML-Code nach
meta
Tags, die möglicherweise Crawling-Anweisungen enthalten. -
Beachten Sie die gesetzlichen Beschränkungen in Ihrer Gerichtsbarkeit in Bezug auf die Datenerhebung und -nutzung.
-
Seien Sie bereit, das Crawlen zu beenden, wenn Sie vom Eigentümer der Website dazu aufgefordert werden.