Crawlbases Crawler ist vielseitig Web-Crawler mit dem Sie Online-Daten in großem Umfang extrahieren können. Crawler vereinfacht den Crawling-Prozess und ermöglicht Ihnen die bequeme und valide Erfassung großer Datenmengen. Damit übernehmen Sie die Kontrolle über das Web Scraping und erhalten die Daten, die Sie für Ihre Geschäftsanforderungen benötigen.
Die Crawler kümmert sich mühelos um JavaScript-Browser, Warteschlangen, Proxys, Datenpipelines und andere Web Scraping-Schwierigkeiten. So können Sie die Datenextraktion optimal nutzen und Online-Informationen problemlos abrufen.
Am Ende dieses Tutorials haben Sie gelernt, wie Sie die Crawler um Daten aus Online-Quellen abzurufen.
Was wir abdecken
- Herausforderungen in der Crawler?
- Wie das Crawler PayDay
- So erstellen Sie einen lokalen Webhook
- So legen Sie den lokalen Server offen
- So erstellen Sie einen Crawler
- Wie senden Crawler Anforderung
Was du brauchen wirst
- Node.js-Entwicklungsumgebung
- Crawlbases Crawler
- Express
- Ngrok
Ready?
Lasst uns anfangen…
Herausforderungen in der Crawler?
Erbaut auf dem Crawling API, der Crawler ist ein Push-System, mit dem Sie Daten nahtlos und schnell scrapen können. Es arbeitet asynchron auf dem Crawling API.
Die Crawler eignet sich für Großprojekte, bei denen enorme Datenmengen gesammelt werden müssen. Sobald Sie auf Ihrem Server einen Webhook-Endpunkt eingerichtet haben, werden die gesammelten Daten dorthin übermittelt, sodass Sie sie bearbeiten und an Ihre spezifischen Anforderungen anpassen können.
Die Crawler bietet die folgenden Vorteile:
- Fügen Sie Ihren Anwendungen problemlos Scraped-Daten hinzu, ohne sich mit der komplexen Verwaltung von Warteschlangen, Blöcken, Proxys, Captchas, Wiederholungsversuchen und anderen Engpässen beim Web-Crawling herumschlagen zu müssen.
- Übermitteln Sie gecrawlte Daten an Ihren gewünschten Webhook-Endpunkt, sodass Sie die Daten bequem in Ihren spezifischen Anwendungsfall integrieren können.
- Führen Sie erweitertes Web Scraping auf allen Arten von Websites durch, einschließlich der komplizierten Websites, die JavaScript-Rendering unterstützen.
- Scrapen Sie anonym Daten, ohne sich Gedanken über die Offenlegung Ihrer Identität machen zu müssen.
- Scrapen Sie Online-Daten mit einem einfachen Preismodell, das keine langfristigen Verträge erfordert. Sie zahlen nur für erfolgreiche Anfragen.
Wie das Crawler PayDay
Wie bereits erwähnt, die Crawler arbeitet auf der Crawling API. Damit können Sie die Fähigkeiten des Crawling API und extrahieren Sie Daten einfach und reibungslos.
So stellen Sie eine Anfrage mit dem Crawling API:
https://api.crawlbase.com/?token=add_token&url=add_url
Wie Sie oben sehen können, ist neben dem Basisteil der URL auch der Crawling API erfordert die folgenden zwei obligatorischen Abfragezeichenfolgenparameter:
- Ein eindeutiges Autorisierungstoken, das Crawlbase bereitstellt, um Sie zur Verwendung der API zu autorisieren. Sie können entweder das normale Token für allgemeine Webanforderungen oder das JavaScript-Token für erweiterte, echte Browseranforderungen verwenden.
- URL der Website, die Sie scrapen möchten. Sie sollte mit HTTP oder HTTPS beginnen. Sie sollte außerdem verschlüsselt sein, um eine gültige Übertragung über das Internet sicherzustellen.
Bei der Arbeit mit der Crawlermüssen Sie zusätzlich zu den beiden obigen Abfragezeichenfolgenparametern die folgenden beiden obligatorischen Parameter hinzufügen:
- Rückrufparameter— &Rückruf=true
- Name Ihres Crawlers (wir werden später sehen, wie man einen Crawler erstellt)— &crawler=Crawlername hinzufügen
Also dein Crawler Die Anfrage sieht folgendermaßen aus:
https://api.crawlbase.com?token=add_token&callback=true&crawler=add_crawler_name&url=add_url
Da der Crawler mit Rückrufen arbeitet, müssen Sie eine Webhook Endpunkt auf Ihrem Server, um die Scraped-Daten zu empfangen.
Der Webhook sollte folgende Bedingungen erfüllen:
- Es sollte über Crawlbase-Server öffentlich zugänglich sein.
- Es sollte so konfiguriert sein, dass es HTTP-POST-Anfragen empfängt und innerhalb von 200 Millisekunden mit einem Statuscode von 200, 201 oder 204 antwortet.
Nach der Anforderung sammelt die Crawler-Engine die angegebenen Daten und sendet sie mithilfe der HTTP-POST-Methode mit GZIP-Datenkomprimierungsschema an Ihren Callback-Endpunkt.
Standardmäßig werden die Daten im HTML-Format strukturiert, d. h. &format=htmlSie können auch angeben, dass die Daten im JSON-Format empfangen werden sollen, indem Sie &format=json Abfragezeichenfolgenparameter.
So erstellen Sie einen lokalen Webhook
Wir zeigen Ihnen, wie Sie auf Ihrem Server einen Webhook-Endpunkt zum Empfangen der Scraped-Daten erstellen können.
Für dieses Tutorial verwenden wir das Express Node.js-Webanwendungsframework, um einen lokalen Webhook-Server auf unserem Computer zu erstellen. Anschließend verwenden wir ngrok, um unseren lokalen Server sicher über das Internet zugänglich zu machen. Dadurch wird sichergestellt, dass unser Webhook für Crawlbase-Server öffentlich zugänglich ist.
Erstellen Sie zunächst ein neues Verzeichnis in Ihrer Entwicklungsumgebung, navigieren Sie im Terminalfenster dorthin und führen Sie den folgenden Befehl aus, um ein neues Node.js-Projekt zu initialisieren:
npm-Init
Installieren Sie als Nächstes das Express-Framework:
npm install express
Erstellen Sie als nächstes eine Datei namens server.js und fügen Sie den folgenden Code hinzu:
1 | // Express importieren |
Der obige Code kommt Ihnen vielleicht bekannt vor, wenn Sie schon einmal mit Express gearbeitet haben. Wir haben mit der Initialisierung von Express und der Definition eines Ports begonnen.
Als nächstes nutzten wir die eingebaute express.text() Middleware-Funktion zum Parsen der eingehenden Rohdaten und Zurückgeben als einfacher String. Wir haben sie verwendet, weil Crawlbase in den API-Headern den Inhaltstyp text/plain verwendet.
Wir haben die begrenzen Parametereigenschaft in die Funktion, um die Datenmenge anzugeben, die wir empfangen möchten, und um eine Überlastung unseres Servers zu vermeiden. Die Middleware-Funktion dekomprimiert außerdem automatisch die mit GZIP codierten gecrawlten Daten.
Wir nutzten auch die eingebaute express.urlencoded() Middleware-Funktion, um die eingehenden Anfragen mit URL-codierten Nutzdaten zu analysieren und in ein von uns verwendbares Format zu konvertieren. Wir haben die verlängert Parametereigenschaft in die Funktion ein, um anzugeben, dass wir den qs Bibliothek zum Parsen und Stringifizieren von Abfragezeichenfolgen.
Beachten Sie, dass wir Express angewiesen haben, die Middleware zu verwenden, bevor die Route des Webhooks definiert wird. Dadurch werden sie vor der Route ausgeführt und stellen sicher, dass die Route auf die analysierten Daten im HTTP-POST-Text zugreifen kann.
Als nächstes haben wir eine einfache Webhook-Route für die Bearbeitung des eingehenden Anrufs eingerichtet. Wir haben sie erstellt unter http://localhost:3000/
um die Anfrage zu bearbeiten.
Wir nutzten die Körper Eigentum der req Objekt, um die gecrawlten Daten auf der Konsole zu protokollieren. Wir haben auch auf alle API-Anforderungsheaderinformationen zugegriffen, indem wir das Überschriften Eigentum.
Es ist auch wichtig, schnell mit einem HTTP 2xx-Statuscode zu antworten. Die Crawlbase Crawler erfordert diese Antwort innerhalb von 200 Millisekunden.
Führen Sie als Nächstes den folgenden Befehl aus, um die einfache Express-Webhook-Anwendung zu starten:
Knoten server.js
Denken Sie daran, den lokalen Server am Laufen zu halten. Schließen Sie ihn nicht.
So legen Sie den lokalen Server offen
Die nächste Aufgabe besteht darin, ngrok zu verwenden, um den lokal laufenden Server der Welt zugänglich zu machen. Es gibt mehrere Möglichkeiten, ngrok einzurichten. Für dieses Tutorial werden wir ngrok herunterladen entpacken Sie die Datei ngrok.exe und speichern Sie die Datei in einem Ordner auf unserem lokalen Computer.
Um ngrok zu starten, starten Sie ein weiteres Terminal, navigieren Sie zu dem Verzeichnis, in dem die ausführbare Datei gespeichert ist, und führen Sie den folgenden Befehl aus:
ngrok http3000
Beachten Sie, dass wir den Server auf Port 3000 verfügbar gemacht haben. Dies ist derselbe Port, auf dem die lokale Webhook-Anwendung lauscht.
Nach dem Start von ngrok wird eine Benutzeroberfläche mit einer öffentlichen URL angezeigt, an die der lokale Server weitergeleitet wird. Dies ist die URL, die wir zum Erstellen eines Crawlers auf dem Dashboard von Crawlbase verwenden. Die Benutzeroberfläche zeigt auch andere Status- und Metrikinformationen an.
So erstellen Sie einen Crawler
Wie bereits erwähnt, ist die Crawler erfordert, dass Sie den Namen eines Crawlers als einen seiner Abfragezeichenfolgenparameter anhängen.
Sie müssen zum Dashboard von Crawlbase navigieren und Erstellen Sie hier einen Crawler.
Sie müssen einen eindeutigen Namen angeben, der Ihren Crawler identifiziert. Geben Sie im Abschnitt „Callback-URL“ die öffentliche ngrok-URL ein, die wir zuvor erstellt haben. Hierhin werden die gecrawlten Daten übermittelt.
Sie geben auch an, ob Sie normale Anfragen oder echte Browseranfragen stellen müssen.
Wenn Sie fertig sind, klicken Sie auf Crawler erstellen .
Sie sehen dann Ihren Crawler auf der CrawlerSeite.
Wie senden Crawler Anforderung
Wenn alles eingerichtet ist, ist es jetzt an der Zeit, die Crawler fordern Sie einige Online-Daten an und rufen Sie sie ab. Hier beginnt die eigentliche Aktion. Für dieses Tutorial rufen wir den Inhalt von diese Seite.
Es gibt viele Möglichkeiten, HTTP-Anfragen in Node.js zu stellen. Für dieses Tutorial verwenden wir den leichtgewichtigen Crawlbase Node.js-Bibliothek.
Öffnen Sie ein weiteres Terminalfenster und installieren Sie es:
npm installiere Crawlbase
Erstellen Sie als nächstes eine Datei namens Anfrage.js und fügen Sie den folgenden Code hinzu:
1 | const { CrawlingAPI } = erfordern(„Crawlbase“); |
Um die Anfrage zu stellen, führen Sie den folgenden Befehl aus
Knotenanforderung.js
Wenn die Anfrage erfolgreich ist, Crawler sendet eine JSON-Darstellung mit einer eindeutigen Kennung (RID) zurück. Sie können die RID verwenden, um die Anforderung in Zukunft zu identifizieren.
Dies ist die Push-Antwort, die wir erhalten haben:
Wenn wir unseren Webhook-Server überprüfen, können wir sehen, dass der HTML-Inhalt der Zielseite erfolgreich gecrawlt wurde:
Beachten Sie, dass auf dem Webhook-Server dieselbe RID empfangen wurde, genau wie in der Push-Antwort.
Die ngrok-Benutzeroberfläche zeigt auch, dass die POST-Anforderung erfolgreich war:
Fertig! :)
Schlussfolgerung
In diesem Tutorial haben wir gezeigt, wie Sie die vielseitigen Crawlbase-Funktionen nutzen können. Crawler um Daten aus Online-Quellen mit einer asynchronen Rückruffunktion zu scrapen.
Mit der Crawlerkönnen Sie die Online-Datenextraktion schnell und reibungslos durchführen. Sie müssen sich keine Sorgen machen, dass Ihre Identität preisgegeben wird oder dass beim Abrufen von Online-Informationen Zugriffssperren auftreten. Das ist alles, was Sie brauchen, um Ihre Web-Crawling-Bemühungen auf die nächste Stufe zu heben.
Wenn Sie mehr über die Verwendung der API erfahren möchten, besuchen Sie seine Dokumentation hier.
Hier tippen um ein kostenloses Crawlbase-Konto zu erstellen und mit der Nutzung der Crawler.