Unendliches Scrollen funktioniert, indem jedes Mal, wenn der Benutzer zum Ende einer Seite herunterscrollt, neue Daten abgerufen und gerendert werden. Wenn Sie nach einer einfachen Möglichkeit suchen, eine Webseite mit fortlaufendem oder langem Inhalt zu crawlen, der gescrollt werden muss, wie Facebook-Gruppen, Twitter-Tweets oder sogar Suchergebnisse in Quora, kann Ihnen dieser Leitfaden dabei helfen, wertvolle Zeit und Mühe zu sparen.

In diesem Artikel zeigen wir Ihnen, wie Sie einen einfachen Webcrawler erstellen, der automatisch eine Webseite scrollt, indem Sie unseren Crawling API mit dem Scroll-Parameter. Wir werden unseren Code in Node.js schreiben und ihn so anfängerfreundlich wie möglich gestalten. Darüber hinaus werden wir 8 fortgeschrittene Web-Crawling-Taktiken für den Abruf von Webdaten vorstellen, die wirklich funktionieren.

Bevor wir mit dem Codieren beginnen, ist es wichtig, die drei Schlüsselelemente zu kennen, damit dies funktioniert:

  • Javascript-Token: Dies ist ein Token, den Sie bei der Anmeldung erhalten unter Crawlbase und es ist erforderlich, die folgenden Parameter zu übergeben.
  • &scroll-Parameter: Wenn Sie dies an die API übergeben, kann Ihre Anforderung die Seite in einem Intervall von 10 Sekunden scrollen.
  • &Scrollintervall: Dieser Parameter ermöglicht der API, nach dem Laden der Seite X Sekunden lang zu scrollen. Das maximale Scrollintervall beträgt 60 Sekunden. Nach 60 Sekunden Scrollen erfasst die API die Daten und bringt sie zu Ihnen zurück.

Scrollen einer Website mit Node

Öffnen Sie zunächst Ihre Eingabeaufforderung (Windows) oder Ihr Terminal und überprüfen Sie, ob Node.js auf Ihrem System installiert ist, indem Sie Folgendes eingeben: node --version und wenn Sie Node noch nicht haben oder es bereits veraltet ist, empfehlen wir Ihnen, das herunterzuladen und zu installieren neueste NodeJS-Version zuerst.

Sobald Sie Ihren Knoten erfolgreich installiert/aktualisiert haben, können Sie fortfahren und einen Ordner wie unten gezeigt erstellen:

Knotenprojekt erstellen

In diesem Fall verwenden wir Visual Studio Code als Beispiel, Sie können aber auch Ihren bevorzugten Code-Editor verwenden.

Erstellen Sie eine neue Datei und benennen Sie sie quoraScraper.js

VSCode-Knotenerstellung

Jetzt können wir mit dem Schreiben unseres Codes beginnen. Zuerst können wir unsere konstanten Variablen deklarieren, damit wir die Crawling API mit den notwendigen Parametern wie unten gezeigt:

1
2
3
4
5
6
const https = erfordern('https');
const URL = URI-Komponente kodieren('https://www.quora.com/search?q=crawlbase');
const Optionen = {
hostname: „api.crawlbase.com“,
Weg: '/?token=JS_TOKEN&scraper=quora-serp&scroll=true&url=' + URL,
};

Denken Sie daran, dass Sie die URL durch jede beliebige URL ersetzen können, die Sie scrapen möchten und die die entsprechende &scraper-Parameter und das JS_TOKEN mit Ihrem tatsächlichen Javascript-Token.

Der nächste Teil unseres Codes ruft die Anfrage im JSON-Format ab und zeigt die Ergebnisse in der Konsole an:

1
2
3
4
5
6
7
8
9
10
11
12
https
.Anforderung(Optionen, (Antwort) => {
lassen Körper = '';
Antwort
.on('Daten', (Brocken) => (Körper += Block))
.on('Ende', () => {
const json = JSON.parsen(Körper);
trösten.Log(json.ursprünglicher_status);
trösten.Log(json.Körper);
});
})
.Ende();

Drücken Sie anschließend F5 (Windows), um das Ergebnis anzuzeigen. Sie können dies auch vom Terminal oder der Eingabeaufforderung aus ausführen:

1
C:\Nodejs\Projekt> Knoten quoraScraper.js

Da wir das Bildlaufintervall noch nicht festgelegt haben, beträgt die Standardeinstellung 10 Sekunden, wodurch natürlich weniger Daten zurückgegeben werden.

Abrufen weiterer Daten mit Knoten

Wenn Sie nun länger scrollen möchten (z. B. 20 Sekunden), müssen Sie einen Wert für &scroll_interval Parameter. Der vollständige Code wird unten angezeigt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const https = erfordern('https');
const URL = URI-Komponente kodieren('https://www.quora.com/search?q=crawlbase');
const Optionen = {
hostname: „api.crawlbase.com“,
Weg: '/?token=JS_TOKEN&scraper=quora-serp&scroll=true&scroll_interval=20&url=' + URL,
};

https
.Anforderung(Optionen, (Antwort) => {
lassen Körper = '';
Antwort
.on('Daten', (Brocken) => (Körper += Block))
.on('Ende', () => {
const json = JSON.parsen(Körper);
trösten.Log(json.ursprünglicher_status);
trösten.Log(json.Körper);
});
})
.Ende();

Bitte achten Sie darauf, dass Ihre Verbindung bis zu 90 Sekunden offen bleibt, wenn Sie 60 Sekunden scrollen möchten. Weitere Informationen zum Scroll-Parameter finden Sie in unserem Dokumentation.

Wenn Sie den Code erneut ausführen, sollten Sie mehr Daten erhalten, wie im folgenden Beispiel gezeigt:

JSON-Ausgabe

An diesem Punkt haben wir erfolgreich einen einfachen Scraper fertiggestellt, der in weniger als 20 Codezeilen durch eine Webseite scrollen kann. Denken Sie daran, dass dies integriert werden kann, wenn Sie einen vorhandenen Web-Scraper haben, und Sie können auch unseren Crawlbase Nodejs-Bibliothek als Alternative.

Natürlich ist dies nur der Anfang. Sie können damit noch viel mehr tun und wir hoffen, dass es Ihre Kenntnisse im Bereich Web Scraping bereichert hat.

Was ist Web-Crawling?

Web krabbeln dreht sich alles darum, wertvolle Informationen von Websites abzurufen, ohne sie manuell anzuklicken und zu kopieren. Um es etwas technisch auszudrücken: Beim Web-Crawling werden mithilfe spezieller Tools oder Programme automatisch Daten von Webseiten abgerufen. Es ist wie ein Roboter, der eine Webseite besucht, alles darauf herunterlädt und dann die spezifischen Informationen heraussucht, an denen Sie interessiert sind.

Was kann Web-Crawling für Sie tun?

Jetzt fragen Sie sich vielleicht, warum Web Crawling ein so wertvolles Tool ist. Nun, hier ist der Punkt: Web Scraping ist Ihr großer Helfer, wenn es darum geht, Zeit zu sparen. Es unterstützt Sie beim automatischen Abrufen von Webdaten aller Art öffentlicher Informationen aus dem riesigen Web. Es ist wie eine Abkürzung, die das manuelle Kopieren um Längen schlägt.

Aber das ist noch nicht alles! Web Scraping ist ein praktischer Trick für verschiedene Aufgaben, wie zum Beispiel:

Wettbewerbsanalyse: Mit Bahnkratzenkönnen Sie einen Blick auf die Websites Ihrer Konkurrenten werfen und deren Dienstleistungen, Preise und Marketingtaktiken im Auge behalten. Es sieht aus wie ein Freibrief für ihre Geschäftsstrategien.
Marktforschung: Angenommen, Sie möchten alles über einen bestimmten Markt, eine Branche oder eine Nische wissen. Web Scraping kann Ihnen alle wertvollen Daten liefern. Es ist äußerst nützlich, insbesondere in Bereichen wie Immobilien.
Maschinelles lernen: Und hier wird Web Scraping noch cooler. Die Daten, die Sie scrapen, können die Grundlage für Ihre Projekte zum maschinellen Lernen und zur künstlichen Intelligenz bilden. Es ist, als würden Sie Ihre Algorithmen mit Informationen stärken, aus denen Sie lernen und sich weiterentwickeln können.

Sind Sie bereit, in die Welt des Web Crawlings einzutauchen? Wir zeigen Ihnen einige erstklassige Best Practices zum Web Scraping, damit Sie auf dem richtigen Weg sind. Legen wir los!

Die 8 besten fortgeschrittenen Web-Crawling-Taktiken für Sie

Jetzt ist es an der Zeit, die zehn wichtigsten und besten Praktiken für das Abrufen von Webdaten zu entdecken. Egal, ob Sie mit einer Scrolling-Website, einer Website mit unendlichem Scrolling oder beim Einrichten eines Live-Crawlers arbeiten, diese Tipps und Crawling-Taktiken zum Daten-Scraping werden Ihnen bei Ihren Web-Scraping-Aktivitäten nützlich sein.

Machen Sie sich also bereit, die Best Practices für einen effizienten und effektiven Abruf von Webdaten zu erlernen!

1. Seien Sie geduldig: Überladen Sie nicht

Es ist wichtig, dass Sie mit den Servern, mit denen Sie interagieren, gut zusammenarbeiten. Wenn Sie einen Server in kurzer Zeit mit zu vielen Anfragen bombardieren, kann das zu Problemen führen. Die Website, auf die Sie abzielen, ist möglicherweise nicht bereit, eine so hohe Belastung zu bewältigen, und hier können Probleme auftreten.

Um dies zu vermeiden, ist es wichtig, zwischen jeder Anfrage Ihres Webcrawlers eine Pausenzeit einzulegen. Diese Atempause ermöglicht Ihrem Crawler, Webseiten reibungslos zu durchsuchen, ohne andere Benutzer zu stören. Schließlich möchte niemand eine langsame Website, oder?

Darüber hinaus kann das Abfeuern einer Flut von Anfragen Anti-Scraping-Abwehrmechanismen auslösen. Diese hinterhältigen Systeme können übermäßige Aktivität erkennen und den Zugriff auf Ihren Web Scraper verweigern.

Als zusätzlichen Tipp sollten Sie Ihren Crawler außerhalb der Spitzenzeiten laufen lassen. Beispielsweise nimmt der Webverkehr auf der Zielwebsite nachts tendenziell ab. Dies ist eine der goldenen Regeln der bewährten Vorgehensweisen beim Web Scraping und sorgt für ein reibungsloseres Erlebnis für alle.

2. Die Leistungsfähigkeit öffentlicher APIs

Hier ist ein Trick für einen reibungslosen Datenabruf aus dem Web: Verwenden Sie öffentliche APIs. Falls Sie mit dem Begriff nicht vertraut sind: API steht für Application Programming Interface (Anwendungsprogrammierschnittstelle). Es ist wie eine Verbindung, die es verschiedenen Anwendungen ermöglicht, miteinander zu kommunizieren und Daten auszutauschen.

Mittlerweile verlassen sich viele Websites auf diese APIs, um die Daten abzurufen, die sie für ihre Webseiten benötigen.

Wie hilft Ihnen das also bei Ihren Web Scraping-Aktivitäten? Nun, wenn die Website, die Sie im Auge haben, so funktioniert, haben Sie Glück. Sie können diese API-Aufrufe direkt in den Entwicklungstools Ihres Browsers unter der Registerkarte XHR im Abschnitt „Netzwerk“ durchführen.

Indem Sie diese HTTP-Anfragen abfangen, erhalten Sie Zugriff auf die gewünschten Daten. Außerdem sind die meisten APIs benutzerfreundlich und ermöglichen es Ihnen, die gewünschten Daten mithilfe von Body- oder Abfrageparametern anzugeben. Sie erhalten genau das, was Sie möchten, und zwar in einem für Menschen leicht verständlichen Format. Darüber hinaus können diese APIs sogar URLs und andere wertvolle Informationen für Ihre Web-Crawling-Projekte bereitstellen.

Vergessen Sie also beim nächsten Abrufen Ihrer Webdaten nicht zu prüfen, ob eine öffentliche API bereitsteht, die Ihnen das Leben erheblich erleichtert.

3. Verbergen Sie Ihre IP mit Proxy-Diensten

Dies ist die Faustregel für eine erfolgreiche Datenwiederherstellung im Web: Geben Sie beim Scraping niemals Ihre echte IP-Adresse preis. Dies ist eine der grundlegenden Best Practices für das Web Scraping. Der Grund ist einfach: Sie möchten nicht, dass Anti-Scraping-Systeme Ihre tatsächliche IP-Adresse ermitteln und Sie blockieren.

Wie bleiben Sie also inkognito? Die Antwort lautet in zwei Worten: Proxy-Dienste. Wenn Ihr Scraper eine Anfrage an eine Website sendet, wird in den Protokollen des Servers die IP-Adresse des Proxy-Servers angezeigt, nicht Ihre.

Das Beste daran ist, dass Premium-Proxy-Dienste häufig IP-Rotation anbieten. Das bedeutet, dass Ihr Scraper ständig zwischen verschiedenen IP-Adressen wechseln kann. Das macht es für Websites unglaublich schwierig, Ihre IP zu sperren, da es sich um ein bewegliches Ziel handelt.

Denken Sie also beim Scraping im Web daran, dass Proxy-Dienste eine Grundvoraussetzung sind. Sie helfen Ihnen beim Scraping von Daten, ohne Ihre wahre Identität preiszugeben.

4. Bringen Sie Zufälligkeit in Ihr Crawling-Muster ein

Ein zufälliges Crawling-Muster ist eine der besten Crawling-Taktiken für sicheres Daten-Scraping und zum Schutz vor Anti-Scraping-Technologien. Einige Websites verwenden fortschrittliche Anti-Scraping-Techniken, die das Benutzerverhalten analysieren, um zwischen Menschen und Bots zu unterscheiden. Sie suchen nach Mustern, und die Wahrheit ist: Menschen sind für ihre Unberechenbarkeit bekannt.

Um diese wachsamen Anti-Scraping-Websites auszutricksen, müssen Sie Ihren Web Scraper dazu bringen, sich wie ein menschlicher Benutzer zu verhalten. Wie machen Sie das? Indem Sie Ihrer Web Scraping-Logik einen Hauch von Zufälligkeit hinzufügen.

Hier sind ein paar clevere Tricks:

Zufälliger Versatz: Wenn Ihr Scraper scrollt oder klickt, fügen Sie etwas Zufälligkeit hinzu. Menschen bewegen sich nicht mit der Präzision eines Roboters und Ihr Scraper sollte das auch nicht tun.
Mausbewegungen: Imitieren Sie die organischen Bewegungen eines menschlichen Cursors. Ein paar Wackelbewegungen hier und da können viel bewirken.
Klicken Sie auf zufällige Links: Menschen sind neugierige Wesen und klicken auf verschiedene Links. Ermutigen Sie Ihren Scraper, dasselbe zu tun.

Auf diese Weise wirkt Ihr Web Scraper in den Augen von Anti-Scraping-Technologien menschlicher. Geben Sie Ihrem Scraper eine virtuelle Persönlichkeit, damit er weniger Verdacht erregt.

5. Achten Sie auf Honeypots

Einige Websites wenden clevere Tricks an, um Ihre Scraping-Aktivitäten zu behindern – Honeypots.

Honeypot-Fallen sind versteckte Links, die strategisch platziert werden, wo ahnungslose Benutzer sie nicht sehen können. Sie sind wie Pfade, auf die nur Eingeweihte zugreifen können. Diese Links werden oft mit CSS verborgen, indem ihre Anzeigeeigenschaft auf „keine“ gesetzt wird, wodurch sie für den durchschnittlichen Benutzer unsichtbar werden.

Wenn Ihr Web Scraper auf eine Honeypot-Website gelangt, kann er unbeabsichtigt in eine Anti-Scraping-Falle tappen. Das Anti-Scraper-System beobachtet jede Ihrer Bewegungen und macht sich Notizen zu Ihrem Verhalten. Es sammelt ständig Beweise, um Ihren Scraper zu identifizieren und zu blockieren.

Um Honeypot-Websites aus dem Weg zu gehen, sollten Sie immer überprüfen, ob die Website, auf die Ihr Scraper abzielt, echt ist. Lassen Sie sich nicht von der Versprechung gefälschter Daten ködern.

Darüber hinaus behalten Anti-Bot-Systeme auch IP-Adressen im Auge, die mit Honeypot-Links interagiert haben. Wenn Ihre IP in diese Kategorie fällt, kann dies ein Warnsignal sein und Ihre Scraping-Bemühungen können blockiert werden.

6. Cachen und protokollieren Sie immer wie ein Profi

Wir wissen, dass Sie wertvolle Webdaten sammeln und dies effizient tun möchten. Einer der besten Tipps zum Daten-Scraping ist das Caching.

Und so funktioniert es: Immer wenn Ihr Scraper eine HTTP-Anfrage stellt und eine Antwort erhält, speichern Sie diese in einer Datenbank oder einer Protokolldatei. Diese Rohdaten sind für Sie zu wertvoll. Warum, fragen Sie sich? Nun, lassen Sie es uns aufschlüsseln:

Offline-Aktivitäten: Indem Sie alle HTML-Seiten horten, die Ihr Crawler besucht, erstellen Sie im Wesentlichen eine Offline-Bibliothek mit Webdaten. Das bedeutet, dass Sie zurückgehen und Daten extrahieren können, von denen Sie beim ersten Durchgang nicht einmal wussten, dass Sie sie benötigen. Es ist wie eine zweite Chance.

Selektive Speicherung: Das Speichern ganzer HTML-Dokumente kann ziemlich viel Speicherplatz beanspruchen. Gehen Sie also clever vor und speichern Sie in Ihrer Datenbank nur die entscheidenden HTML-Elemente in einem String-Format. Es geht darum, die Speicherung zu optimieren, ohne Daten zu opfern.

Führen Sie ein Scraping-Tagebuch: Um das Beste daraus zu machen, sollte Ihr Scraper ein Protokoll führen. Notieren Sie die Seiten, die er besucht, die Zeit, die zum Scrapen jeder Seite benötigt wird, das Ergebnis der Datenextraktionsvorgänge und mehr.

7. Überlisten Sie CAPTCHAs mit einem Lösungsdienst

Seien wir ehrlich – CAPTCHAs sind diese Wächter, die Bots in Schach halten sollen. Diese kleinen Rätsel sind für Menschen zu einfach, aber für Maschinen ein Albtraum. Wenn Sie ein CAPTCHA nicht lösen können, laufen Sie Gefahr, von Anti-Bot-Systemen als Bot eingestuft zu werden.

Viele beliebte Content Delivery Network (CDN)-Dienste sind als Teil ihrer Anti-Bot-Abwehr mit CAPTCHAs ausgestattet. Wie also überwinden Sie diesen Hindernisparcours? Ein CAPTCHA-Lösungsdienst kann Ihnen hier helfen.

CAPTCHA-Lösungsdienste nutzen die Leistung menschlicher Arbeitskräfte, um diese Rätsel zu lösen. Diese Dienste automatisieren den Prozess der Inanspruchnahme menschlicher Hilfe zum Knacken von CAPTCHAs. Es ist, als ob Ihnen ein Team von CAPTCHA-Lösungsexperten zur Verfügung stünde.

Für diejenigen, die Geschwindigkeit und Effizienz suchen, stehen erweiterte Web Scraping-APIs zur Verfügung. Diese APIs sind Ihre Abkürzung, um diese CAPTCHA-Blockaden zu umgehen.

8. Bleiben Sie auf der richtigen Seite des Gesetzes

Wir beenden die Liste der Tipps zum Daten-Scraping, ohne die Rechtmäßigkeit des Webdatenabrufprozesses zu erwähnen. Es ist wichtig, dass Sie keine rechtlichen Verstöße begehen. Mit anderen Worten: Sie sind für das verantwortlich, was Sie scrapen. Lesen Sie sich also immer die Nutzungsbedingungen der Zielwebsite genau durch.

In den Servicebedingungen erfahren Sie, was Sie beim Datenscraping von der jeweiligen Website tun und lassen sollten. Diese Informationen sagen Ihnen, was fair ist und was verboten ist. Sie erfahren alles über verantwortungsvolles Web Scraping.

In den meisten Fällen haben Sie aufgrund von Urheberrechtsbeschränkungen keine Erlaubnis, die gescrapten Daten an anderer Stelle erneut zu veröffentlichen. Die Missachtung dieser Regeln kann zu rechtlichen Problemen führen, und glauben Sie mir, das möchten Sie vermeiden.

Einpacken!

Befolgen Sie diese erweiterten Crawling-Taktiken zum Abrufen von Webdaten, um einen reibungslosen Web-Scraping-Prozess sicherzustellen. Darüber hinaus erfordern scrollende Websites und unendliches Scrollen Finesse, und ein Live-Crawler löst Ihre Probleme.

Viel Spaß beim Schaben!