In der heutigen, sich schnell entwickelnden digitalen Landschaft sind die Extraktion und Analyse von Webdaten für Unternehmen, die sich einen Wettbewerbsvorteil verschaffen wollen, wichtiger denn je. Inmitten der riesigen Flut an Web Scraping-Lösungen sticht Crawlbase durch sein vielfältiges Angebot an innovativen Produkten hervor, die darauf zugeschnitten sind, Websites effizient und effektiv zu crawlen und wertvolle Daten zu scrapen. Eines der Flaggschiff-Angebote von Crawlbase ist das leistungsstarke „Crawler” - ein innovatives Tool, das Benutzern die Möglichkeit gibt, URLs dorthin zu pushen, indem sie Crawling API asynchron. Im Gegenzug die Crawler verarbeitet diese Anfragen sorgfältig und sendet die gecrawlten Seitendaten nahtlos in Echtzeit an den Webhook Ihres Servers zurück. Dieser intelligente und optimierte Workflow macht kontinuierliches Polling überflüssig und stellt sicher, dass Sie sofortigen Zugriff auf frisch extrahierte Daten haben. Dadurch wird der Datenabruf erheblich beschleunigt, sodass Sie große Datenmengen effizienter scrapen können.
In diesem Blog konzentrieren wir uns vor allem auf die wichtigsten Funktionen von Crawlbase Crawler. Insbesondere werden wir uns mit seinen außergewöhnlichen asynchronen Fähigkeiten und der nahtlosen Webhook-Integration befassen, die beide eine entscheidende Rolle bei der Optimierung des Abrufs großer Datenmengen spielen.
Erstellen der Crawlbase Crawler
So verwenden Sie die Crawlermüssen Sie es zunächst über das Dashboard Ihres Crawlbase-Kontos erstellen. Je nach Bedarf können Sie zwei Arten von Crawler, TCP oder JavaScript. Verwenden Sie TCP Crawler um statische Seiten zu crawlen. Verwenden Sie das JS Crawler wenn der Inhalt, den Sie crawlen müssen, über JavaScript generiert wird, entweder weil es sich um eine mit JavaScript erstellte Seite handelt (React, Angular usw.) oder weil der Inhalt dynamisch im Browser generiert wird. Lassen Sie uns für das Beispiel einen TCP-Crawler erstellen.
1. Erstellen eines Webhooks
Beim Erstellen eines Crawlermüssen Sie die URL Ihrer Webhook. Webhooks sind ein leistungsstarkes Mittel, um Echtzeit-Updates zu gescrapten Website-Daten zu erhalten. Durch das Einrichten von Webhooks können Benutzer den extrahierten HTML-Inhalt bestimmter URLs mühelos direkt auf ihren Server-Endpunkten empfangen, was eine nahtlose Integration in ihre Datenverarbeitungs-Pipelines ermöglicht und zeitnahe, datengesteuerte Entscheidungen erleichtert. Diese effiziente und sofortige Datenübermittlung ermöglicht es Benutzern, über dynamische Webinhalte auf dem Laufenden zu bleiben, was Webhooks zu einem wesentlichen Bestandteil von Crawlbase macht. CrawlerFähigkeiten. Im Fall von Crawlbase Crawler Webhook sollte …
- Öffentlich von Crawlbase-Servern aus erreichbar sein
- Seien Sie bereit, POST-Anrufe zu empfangen und innerhalb von 200 ms zu antworten
- Antworten Sie innerhalb von 200 ms mit einem Statuscode 200, 201 oder 204 ohne Inhalt
Erstellen wir einen einfachen Webhook zum Empfangen von Antworten im Python-Django-Framework. Stellen Sie sicher, dass Sie Python und Django installiert haben. Um einen einfachen Webhook-Empfänger mit Django in Python zu erstellen, führen Sie die folgenden Schritte aus:
Schritt 1: Erstellen Sie mit den folgenden Befehlen ein neues Django-Projekt und eine neue App:
1 | # Befehl zum Erstellen des Projekts: |
Schritt 2: Erstellen Sie im Verzeichnis webhook_app eine Datei views.py und definieren Sie eine Ansicht zum Empfangen der Webhook-Daten:
1 | # webhook_app/views.py |
Schritt 3: Konfigurieren Sie das URL-Routing. Bearbeiten Sie im Verzeichnis „webhook_project“ die Datei „urls.py“, um ein URL-Muster für den Webhook-Empfänger hinzuzufügen:
1 | # webhook_project/urls.py |
Schritt 4: Führen Sie den Django-Entwicklungsserver aus. Starten Sie den Django-Entwicklungsserver, um den Webhook-Empfänger zu testen:
1 | # Befehl zum Starten des Servers |
Die App wird auf dem Localhost-Port 8000 ausgeführt.
Nachdem wir einen Webhook erstellt haben, müssen wir ihn als Nächstes im Internet öffentlich verfügbar machen. Dafür können wir verwenden Ngrok. Da unser Webhook auf dem lokalen Host mit Port 8000 läuft, müssen wir ngrok auf Port 8000 ausführen.
2. Neue erstellen Crawler vom Crawlbase-Dashboard
Nachdem wir ngrok auf Port 8000 ausgeführt haben, können wir sehen, dass ngrok eine öffentliche Weiterleitungs-URL bereitstellt, die wir zum Erstellen des Crawlers verwenden können. Mit der kostenlosen Version von ngrok läuft dieser Link nach 2 Stunden automatisch ab. Erstellen wir nun einen Crawler aus Armaturenbrett.
Wenn Sie keinen eigenen Webhook erstellen und Daten speichern möchten, Crawler generiert sicher, Crawlbase bietet eine nahtlose Lösung durch seine Cloud Storage APIDurch die Konfiguration Ihres Crawler Um den Storage-Webhook-Endpunkt zu nutzen, können Sie Ihre wertvollen Daten, die vom Crawler mit zusätzlicher Privatsphäre und Kontrolle. Dazu können Sie die Crawlbase-Speicheroption beim Erstellen des Crawler von dem Armaturenbrett.
Sie können mehr in lesen Crawlbase Storage API.
Übertragen von URLs auf die Crawler
Wir haben nun eine Crawler mit dem Namen „Test-Crawler“. Als nächstes müssen wir die URLs, die gecrawlt werden sollen, an den CrawlerSie müssen die Crawling API mit zwei zusätzlichen Parametern, „callback=true“ und „crawler=YourCrawlerName“, um die URLs zu pushen. Standardmäßig können Sie bis zu 30 URLs pro Sekunde an den Crawler. Dieses Limit kann auf Anfrage geändert werden auf Kunden-Support. Sehen wir uns das folgende Beispiel in Python an, das verwendet Crawlbase-Bibliothek bereitgestellt von Crawlbase, um URLs an die Crawler.
1 | # So installieren Sie die Crawlbase-Bibliothek |
Ausgang:
1 | b'{"rid":"d756c32b0999b1c0507e364f"}' |
Nach dem Ausführen des obigen Codes wird die Crawling API sendet alle URLs an die Crawler Warteschlange. In der Ausgabe ist zu beachten, dass wir nur die RID (Request-ID) von der Crawler ohne Ergebnis. Das liegt daran, Crawler hat uns nur befreit, damit wir Anfragen verfolgen und weiterhin URLs pushen können, ohne Zeit zu verschwenden Crawler dauert das Crawling. Dies ist eine asynchrone Funktion, die von Crawler. Wir müssen uns keine Gedanken über die Ausgabeantwort machen, da diese (sobald sie fertig ist) automatisch an den Webhook gesendet wird, den wir bei der Erstellung des CrawlerEs gibt mehrere APIs Crawler Angebote, Sie können darüber lesen HIER.
Hinweis: Die Gesamtsumme aller Crawler Warteschlangen sind auf 1 Million Seiten begrenzt. Wenn eine oder alle Warteschlangen zusammen mehr als 1 Million Seiten umfassen, Crawler Push wird vorübergehend pausiert und wir benachrichtigen Sie per E-Mail. Crawler Der Push-Vorgang wird automatisch fortgesetzt, sobald die Anzahl der Seiten in der Warteschlange (den Warteschlangen) unter 1 Million liegt.
Empfangen von Daten vom Crawler
Nach dem Senden der URLs an die Crawler, Crawler crawlen die mit jeder URL verknüpfte Seite und pushen die Antwort mit gecrawltem HTML als Body zum Webhook.
1 | Headers: |
Das Standardformat der Antwort ist HTML. Wenn Sie eine Antwort im JSON-Format erhalten möchten, können Sie einen Abfrageparameter „format=json“ übergeben mit Crawling API beim Übertragen von Daten an die CrawlerDie JSON-Antwort sieht folgendermaßen aus
1 | Headers: |
In unserem Beispiel haben wir 3 Anfragen erhalten von Crawler da wir nur 3 URLs dorthin gepusht haben.
Wie beim Webhook haben wir so programmiert, dass der Anforderungstext in einer TXT-Datei gespeichert wird. In dieser Datei können wir den gesamten HTML-Inhalt wie folgt sehen.
Sobald Sie das HTML in Ihrem Webhook haben, können Sie je nach Bedarf alles daraus extrahieren. Außerdem können Sie die Webhook-URL Ihres Crawler jederzeit von Ihrem Crawlbase-Dashboard aus. Jedes Mal Crawler liefert eine Antwort an den Webhook und Ihr Server gibt keine erfolgreiche Antwort zurück, Crawler versucht erneut, die Seite zu crawlen und dann die Zustellung erneut zu versuchen. Diese Wiederholungsversuche gelten als erfolgreiche Anfragen und werden daher in Rechnung gestellt. Wenn Ihr Webhook ausfällt, Crawlbase-Überwachungsbot erkennt es und pausiert die Crawler. Crawler wird automatisch fortgesetzt, wenn der Webhook wieder aktiv ist. Sie können den technisches Support-Team von Crawlbase, um diese Einstellungen nach Bedarf zu ändern. Für ein umfassenderes Verständnis siehe Crawlbase Crawler Dokumentation.
Erweiterte Callback-Funktionalität mit benutzerdefinierten Headern
Zusätzlich zum Standard-Callback-Mechanismus bietet Crawlbase eine optionale Funktion, mit der Sie über den Parameter „callback_headers“ benutzerdefinierte Header empfangen können. Diese Erweiterung ermöglicht es Ihnen, zusätzliche Daten zu Identifikationszwecken weiterzugeben und so eine personalisiertere und effizientere Integration in Ihre Systeme zu ermöglichen.
Benutzerdefiniertes Header-Format:
Das Format für benutzerdefinierte Header ist wie folgt:
HEADER-NAME:VALUE|HEADER-NAME2:VALUE2|and-so-on
Für eine reibungslose Datenübertragung und -interpretation ist die Gewährleistung einer korrekten Kodierung von entscheidender Bedeutung.
Anwendungsbeispiel
Für diese Header- und Wertepaare { „id“: 123, Typ: „etc“ }
&callback_headers=id%3A123%7Ctype%3Aetc
Empfangen von Kundenkopfzeilen
Crawler sendet alle benutzerdefinierten Header im Header-Abschnitt der Antwort. Sie können zusammen mit Ihren gecrawlten Daten problemlos darauf zugreifen.
1 | Headers: |
Mit diesem Upgrade haben Sie jetzt mehr Flexibilität und Kontrolle über die Informationen, die Sie durch Rückrufe erhalten. Durch die Nutzung benutzerdefinierter Header können Sie die Rückrufdaten an Ihre spezifischen Anforderungen anpassen, sodass die Anpassung unserer Dienste an Ihre individuellen Bedürfnisse einfacher denn je ist.
Schlussfolgerung
Crawlbase Crawler bietet seinen Benutzern eine umfassende und leistungsstarke Lösung für Web-Crawling- und Scraping-Aufgaben. Durch die Nutzung seiner erweiterten Funktionen können Sie problemlos umfangreiche Datenmengen erfassen, Echtzeit-Updates erhalten und den Datenextraktionsprozess von dynamischen Websites präzise verwalten. Crawlbase ist das Tool der Wahl für Unternehmen, die umsetzbare Erkenntnisse suchen. Crawler ist ein wichtiger Faktor für datengesteuerte Entscheidungsfindung und verschafft Unternehmen einen Wettbewerbsvorteil in der modernen Geschäftslandschaft.
Wenn wir dieses mächtige Werkzeug nutzen, dürfen wir jedoch nicht vergessen, dass mit viel Macht auch viel Verantwortung verbunden ist. Die Einhaltung der Nutzungsbedingungen der Website, die Einhaltung ethischer Scraping-Normen und die verantwortungsvolle Nutzung von Crawlbase Crawler ist von größter Bedeutung für die Erhaltung eines gesunden Web-Ökosystems. Lassen Sie uns verantwortungsbewusst im Internet surfen.
Häufig gestellte Fragen
F: Was sind die Vorteile der Verwendung von Crawler vs. es nicht verwenden?
- Effizienz: Die CrawlerDie asynchronen Funktionen von ermöglichen eine schnellere Datenextraktion von Websites und sparen so wertvolle Zeit und Ressourcen.
- Einfache Bedienung: Mit seinem benutzerfreundlichen Design ist das Crawler vereinfacht das Pushen von URLs und den Empfang gecrawlter Daten über Webhooks.
- Skalierbarkeit: Die Crawler kann große Datenmengen effizient verarbeiten und ist daher ideal für das Scraping umfangreicher Websites und die Verarbeitung umfangreicher Datensätze.
- Echtzeit-Updates: Durch Einstellen der Scrollzeit-Variable können Sie steuern, wann die Crawler sendet die gescrapte Website zurück und ermöglicht Echtzeitzugriff auf die aktuellsten Daten.
- Datengestützte Entscheidungsfindung: Die Crawler gibt Benutzern wertvolle Einblicke in Webdaten und unterstützt sie so bei der datengesteuerten Entscheidungsfindung und der Erzielung von Wettbewerbsvorteilen.
F: Warum sollte ich das Crawler?
- Effiziente Datenextraktion: Die CrawlerDie asynchrone Natur von ermöglicht eine schnellere und effizientere Datenextraktion von Websites und spart so Zeit und Ressourcen.
- Echtzeitdaten: Mit der Möglichkeit, die Scrollzeitvariable festzulegen, können Sie aktuelle Websitedaten in Echtzeit erhalten und so sicherstellen, dass Sie über die aktuellsten Informationen verfügen.
- Einfache Integration: Die CrawlerDie Webhook-Integration vereinfacht den Datenabruf und ermöglicht den nahtlosen Empfang gecrawlter Seiten direkt auf Ihrem Server.
- Skalierbarkeit: Die Crawler kann umfangreiches Daten-Scraping bewältigen, sodass Sie große Mengen an Informationen verarbeiten können, ohne dass die Leistung darunter leidet.
- Datengesteuerte Erkenntnisse: Durch die Nutzung der Crawlererhalten Sie Zugriff auf wertvolle Erkenntnisse aus Webdaten, die Ihnen datengesteuerte Entscheidungen ermöglichen und Ihren Wettbewerbsvorteil steigern.
- Optimierter Arbeitsablauf: Die CrawlerDie Funktionen von machen kontinuierliche Abfragen überflüssig, optimieren Ihren Datenerfassungsprozess und verbessern die Gesamteffizienz.
- Benutzerfreundliches Bedienfeld: Die CrawlerDas benutzerfreundliche Design macht es für Entwickler, CEOs und technisches Personal zugänglich und gewährleistet eine reibungslose Einführung und Nutzung.
- Anpassbar und flexibel: Sie können die Crawler um Ihren spezifischen Anforderungen zu entsprechen und eine äußerst flexible und anpassbare Web-Scraping-Lösung zu ermöglichen.
Insgesamt ist die Verwendung der Crawler vereinfacht die Webdatenextraktion, verbessert die Datenzugänglichkeit und stattet Sie mit wertvollen Erkenntnissen aus, die Ihnen eine fundierte Entscheidungsfindung für Ihr Unternehmen ermöglichen.
F: Muss ich Python verwenden, um die Crawler?
Nein, Sie müssen nicht ausschließlich Python verwenden, um die Crawlbase zu nutzen Crawlerdem „Vermischten Geschmack“. Seine Crawler bietet mehrere Bibliotheken für verschiedene Programmiersprachen, sodass Benutzer mit ihnen in ihrer bevorzugten Sprache interagieren können. Egal, ob Sie mit Python, JavaScript, Java, Ruby oder anderen Programmiersprachen vertraut sind, Crawlbase bietet alles für Sie. Darüber hinaus bietet Crawlbase APIs, mit denen Benutzer auf die Crawlers-Funktionen, ohne auf bestimmte Bibliotheken angewiesen zu sein, und ist damit für eine breite Palette von Entwicklern mit unterschiedlichen Sprachpräferenzen und technischen Hintergründen zugänglich. Diese Flexibilität stellt sicher, dass Sie die Crawler in Ihre Projekte und Arbeitsabläufe integrieren und dabei die Sprache verwenden, die Ihren Anforderungen am besten entspricht.