Die Geburt eines Web-Crawling-Bots – PromptCloud
Veröffentlicht: 2019-02-27Web-Crawling-Bots sind seit geraumer Zeit ein unverzichtbarer Bestandteil für den Erfolg von Unternehmen. E-Commerce, Reisen, Jobs und Kleinanzeigen sind einige der wichtigsten Bereiche, in denen Crawler-Bots im Mittelpunkt ihrer Wettbewerbsstrategie stehen.
Was machen Web-Crawling-Bots eigentlich? Zum größten Teil durchlaufen sie Hunderttausende von Seiten auf einer Website und rufen wichtige Informationen ab, je nach ihrem genauen Zweck im Web. Einige Bots sind darauf ausgelegt, Preisdaten von E-Commerce-Portalen abzurufen, während andere Kundenbewertungen von Online-Reisebüros extrahieren. Und dann gibt es Bots, die darauf ausgelegt sind, benutzergenerierte Inhalte zu sammeln, um KI-Ingenieuren beim Erstellen von Textkorpora für die Verarbeitung natürlicher Sprache zu unterstützen.
In all diesen Anwendungsfällen muss ein Web-Crawling-Bot für eine Ziel-Website von Grund auf neu erstellt werden, basierend auf den Datenpunkten, die er von dieser Website extrahieren muss. Bei PromptCloud haben wir Bots unterschiedlicher Komplexität für eine Reihe von Branchen und Anwendungsfällen entwickelt. Mit unserer jahrelangen Erfahrung im Web-Crawling haben wir einen Schritt-für-Schritt-Prozess formuliert, der die Bot-Erstellung einfacher und rationalisierter macht. Lassen Sie uns schnell die Schritte durchgehen, die zur Erstellung eines Web-Crawling-Bots erforderlich sind.
Phase 1. Verstehen, wie die Website auf menschliche Benutzer reagiert
Bevor wir einen Bot bauen können, um eine neue Website zu crawlen, sollten wir wissen, wie die Website mit einem echten Menschen interagiert. In dieser Phase nehmen unsere Ingenieure eine Runde mit der neuen Zielwebsite, um sich ein Bild von der Seitennavigation mit einem normalen Browser wie Google Chrome oder Mozilla Firefox zu machen. Dies wirft etwas Licht auf die Browser-Server-Interaktion, die zeigt, wie der Server eine eingehende Anfrage sieht und verarbeitet. Typischerweise geht es darum, mit Anfrage-Headern und Anfragetypen über http zu spielen. Dies bildet die Grundlage für den Aufbau des Bots, da der Bot in gewisser Weise einen echten Benutzer auf der Zielwebsite nachahmen würde.
Stufe 2. Einen Überblick darüber bekommen, wie sich die Website mit einem Bot verhält
Als Teil des zweiten Schritts senden unsere Ingenieure automatisiert Testdatenverkehr, um zu verstehen, wie unterschiedlich die Website mit einem Bot im Vergleich zu einem menschlichen Benutzer interagiert. Dies ist notwendig, da die meisten modernen Websites bestimmte eingebaute Mechanismen haben, um mit Bots unterschiedlich umzugehen. Das Verständnis dieser Mechanismen würde uns helfen, den besten Aktionsweg zum Erstellen des Bots zu wählen. Einige gängige Beispiele sind:
- Die Website schränkt die normale Navigation nach beispielsweise 20 Seiten ein
- Die Anforderung gibt einen 301-Statuscode zurück
- Die Site löst als Antwort ein Captcha aus
- Der Server gibt einen 403-Statuscode zurück – das bedeutet, dass die Seite sich weigert, unsere Anfrage zu bedienen, obwohl sie sie versteht
- Eingeschränkter Zugriff aus einer bestimmten Region (Hier kommen Proxys ins Spiel)
Die meisten Websites haben zwei Gesichter, sie behandeln menschliche Benutzer und Bots unterschiedlich – zu ihrer Verteidigung schützt es sie vor den bösen Bots und verschiedenen Formen von Cyber-Angriffen. Möglicherweise sind Sie irgendwann auf eine Website gestoßen, auf der Sie aufgefordert werden, Ihre Menschlichkeit zu beweisen, um auf eine bestimmte Seite oder Funktion zugreifen zu können. Bots sind damit oft konfrontiert. Aus diesem Grund führen wir diesen Test durch, um die Website aus der Sicht eines Bots vollständig zu verstehen.

Wir haben auch eine automatisierte Ebene, die dann verwendet wird, um den besten Ansatz zum Erstellen des Bots zum Crawlen einer bestimmten Website zu identifizieren. Es führt einen milden Stresstest auf der Website durch, um die Wendepunkte zu erkennen, und gibt dann einige wichtige Informationen zurück, die in die Erstellung des Crawler-Bots einfließen, wie z.
Stufe 3. Erstellen des Bots
Sobald unsere Ingenieure einen klaren Entwurf der Zielseite erhalten haben, ist es an der Zeit, mit dem Bau des Crawler-Bots zu beginnen. Die Komplexität des Builds hängt von den Ergebnissen unserer vorherigen Tests ab. Wenn die Zielseite beispielsweise nur von Deutschland aus zugänglich ist, müssen wir einen deutschen Proxy einbinden, um die Seite abzurufen. Ebenso können je nach den spezifischen Anforderungen der Website bis zu 10 Module in einem Bot zusammenarbeiten.
Stufe 4. Testen des Bots
Als Web-Scraping-Dienstleister für Unternehmen legen wir größten Wert auf Zuverlässigkeit und Datenqualität. Um dies zu gewährleisten, ist es wichtig, den Crawler-Bot unter verschiedenen Bedingungen zu testen, zu und außerhalb der Spitzenzeiten der Zielseite, bevor die eigentlichen Crawls beginnen können. Für diesen Test versuchen wir, eine zufällige Anzahl von Seiten von der Live-Site abzurufen. Nach der Messung des Ergebnisses werden weitere Modifikationen am Crawler vorgenommen, um seine Stabilität und seinen Betriebsumfang zu verbessern. Wenn alles wie erwartet funktioniert, kann der Bot in Produktion gehen.
Stufe 5. Extrahieren von Datenpunkten und Datenverarbeitung
Unsere Crawler-Bots funktionieren anders als die Suchmaschinen-Crawler, mit denen die meisten Menschen vertraut sind. Während die Suchmaschinen-Bots wie der Google-Bot Webseiten einfach crawlen und sie mit einigen Metadaten zu ihrem Index hinzufügen würden, holen unsere Bots den vollständigen HTML-Inhalt der Seiten in einen temporären Speicherplatz, wo sie je nach Bedarf extrahiert und verschiedenen anderen Prozessen unterzogen werden Kundenanforderungen.
Wir nennen diese Phase die Extraktion und hier werden die erforderlichen Datenpunkte aus den vorab heruntergeladenen Webseiten extrahiert. Nach dem Extrahieren werden die Daten automatisch auf doppelte Einträge gescannt und dedupliziert. Der nächste Prozess ist die Normalisierung, bei der bestimmte Änderungen an den Daten vorgenommen werden, um die Nutzung zu erleichtern. Wenn beispielsweise die extrahierten Preisdaten in Dollar angegeben sind, können sie in eine andere Währung umgerechnet werden, bevor sie an den Kunden geliefert werden.
Das war eine kurze Anleitung, wie unsere Ingenieure an einen neuen Web-Crawling-Bot-Build herangehen. Beachten Sie, dass die hohe Effizienz der Bots auch von der Serverumgebung und dem Optimierungsgrad abhängt, den wir im Laufe der Jahre erreicht haben. Ein stabiler Tech-Stack und eine stabile Infrastruktur sind unerlässlich, um täglich Millionen von Datensätzen zu extrahieren, wobei kein Bot dem anderen gleicht.
