Booking.com ist einer der größten Reisemarktplätze im offenen Web, und seine öffentlichen Suchergebnis-Seiten tragen viel strukturiertes Signal: Hotel- und Unterkunftsnamen, Übernachtungspreise, Gäste-Bewertungsscores, Stadtteile und den Link zu jedem Eintrag. Preisanalyse-Teams nutzen es, um Preise über Städte hinweg zu vergleichen, Forscher untersuchen Angebot und Nachfrage nach Reisezielen, und Reiseplaner vergleichen Unterkünfte nebeneinander. All das sitzt auf der öffentlichen Suchseite in einem vorhersehbaren Karten-Layout.
Diese Anleitung zeigt Ihnen, wie Sie Booking.com scrapen mit JavaScript und Node.js unter Verwendung von Cheerio. Sie bauen einen kleinen, ausführbaren Scraper, der eine öffentliche Booking.com-Suchergebnis-Seite über die Crawling API abruft, den Unterkunftsnamen, Preis, Bewertungs-Score, Standort und den Eintrags-Link für jede Karte parst und das Ergebnis als JSON und CSV exportiert. Der gesamte Walkthrough bleibt auf öffentliche Hotel-Eintrags-Daten beschränkt, und der Rechtslage-Abschnitt am Ende ist kein Boilerplate-Text, also lesen Sie ihn, bevor Sie dies auf reales Volumen anwenden.
Was Sie bauen werden
Ein Node.js-Skript, das eine öffentliche Booking.com-Suchergebnis-URL entgegennimmt, das gerenderte HTML über die Crawling API abruft und einen strukturierten Datensatz für jede Unterkunftskarte auf der Seite extrahiert. Wir verwenden eine San-Francisco-Hotelsuche als durchgehendes Beispiel und sammeln diese Felder pro Eintrag:
- Name der Hotel- oder Unterkunftsname, der auf der Karte angezeigt wird, zum Beispiel "Hotel Zephyr San Francisco".
- Preis der angezeigte Übernachtungspreis, wie "US$592".
- Bewertung der öffentliche Gäste-Bewertungs-Score, wenn Booking.com einen für diese Unterkunft anzeigt.
- Standort der Stadtteil und die Stadt, in der die Unterkunft gelistet ist.
- Link die URL zur individuellen Unterkunfts-Seite.
Warum eine einfache Anfrage bei Booking.com scheitert
Wenn Sie eine Booking.com-Such-URL mit einem einfachen HTTP-Client anfragen, bekommen Sie selten die Unterkunftskarten zurück. Zwei Dinge arbeiten gegen Sie. Erstens erstellt Booking.com seine Ergebnisliste im Browser mit JavaScript, sodass das anfängliche HTML eine nahezu leere Hülle ist, bis die Skripte der Seite ausgeführt werden. Zweitens überwacht Booking.com automatisierten Datenverkehr: Datacenter-IPs und Anfragemuster, die nicht wie ein echter Browser aussehen, werden mit einem CAPTCHA herausgefordert, ratenbegrenzt oder blockiert, bevor sie jemals die gerenderten Einträge erreichen.
Ein funktionierender Scraper braucht also zwei Dinge in einer Anfrage: einen Browser, der die Seite tatsächlich rendert, und eine IP, die die Plattform als echten Besucher erkennt. Sie können das selbst mit einem Headless-Browser und einem Pool von rotierenden Residential-Proxys zusammenbauen, aber diesen Stack gesund zu halten ist der größte Teil der Arbeit. Die Crawling API bündelt beides in einem einzigen Aufruf: Sie senden die URL, sie rendert die Seite hinter einer vertrauenswürdigen IP und gibt fertiges HTML zum Parsen mit Cheerio zurück.
Die Crawling API gibt Ihnen zwei Token: ein normales und ein JavaScript-Token. Booking.com benötigt die Seite, die in einem echten Browser gerendert wird, also verwenden Sie für jede Anfrage in diesem Guide Ihr JavaScript-Token. Das normale Token gibt die ungerenderte Hülle zurück und Ihre Selektoren kommen leer zurück.
Voraussetzungen
Sie benötigen einige Dinge, bevor Sie mit dem Programmieren beginnen. Keines davon dauert lange.
Grundlegende JavaScript- und Node.js-Kenntnisse. Sie sollten in der Lage sein, ein Node-Skript zu schreiben und auszuführen, Pakete mit npm zu installieren und mit asynchronem Code zu arbeiten. Für einen ausführlicheren Walkthrough behandelt unser Guide zum Erstellen eines Web-Scrapers mit Node.js die Grundlagen.
Node.js 16 oder neuer. Bestätigen Sie Ihre Version mit node --version. Falls nicht installiert, installieren Sie es von der Node.js-Website oder über einen Versionsmanager wie nvm.
Ein Crawlbase-Konto und Token. Registrieren Sie sich, öffnen Sie Ihr Dashboard und kopieren Sie Ihr JavaScript-Token von der Kontodokumentationsseite. Der Free-Tier gibt Ihnen bis zu 20.000 Anfragen ohne Kreditkarte, und Sie zahlen nur für erfolgreiche Anfragen. Behandeln Sie das Token wie ein Passwort: Es authentifiziert Ihre Anfragen, also halten Sie es aus der Versionskontrolle heraus.
Projekt einrichten
Erstellen Sie einen Projektordner, initialisieren Sie ihn und installieren Sie die beiden Bibliotheken, die der Scraper benötigt.
node --version mkdir booking-scraper && cd booking-scraper npm init -y npm install crawlbase cheerio
Zwei Abhängigkeiten erledigen die Arbeit: crawlbase ist der offizielle Node-Client für die Crawling API, und cheerio parst das zurückgegebene HTML mit einer jQuery-ähnlichen API, sodass Sie einzelne Felder per CSS-Selektor extrahieren können. Erstellen Sie eine Datei namens scraper.js in diesem Ordner und fügen Sie den Code aus den folgenden Schritten hinzu.
Schritt 1: Die gerenderte Suchseite abrufen
Beginnen Sie damit, die fertige Seite zu erhalten. Importieren Sie die CrawlingAPI-Klasse, initialisieren Sie sie mit Ihrem JavaScript-Token und fordern Sie eine öffentliche Booking.com-Suchergebnis-URL an. Das Überprüfen des Statuscodes vor dem Parsen hält Fehler sichtbar statt still.
const { CrawlingAPI } = require('crawlbase'); const api = new CrawlingAPI({ token: 'YOUR_CRAWLBASE_TOKEN' }); const bookingPageURL = 'https://www.booking.com/searchresults.html?ss=San+Francisco&checkin=2025-12-25&checkout=2025-12-31&group_adults=2&no_rooms=1&group_children=0&selected_currency=USD'; api .get(bookingPageURL) .then((response) => { if (response.statusCode === 200) { console.log(response.body.slice(0, 500)); } }) .catch((error) => console.error('API request error:', error));
Führen Sie das Skript mit node scraper.js aus und Sie sollten echtes Booking.com-Unterkunfts-Markup am Anfang des Bodys sehen, keine abgespeckte Hülle. Das bestätigt, dass das Rendering funktioniert, bevor Sie einen einzigen Selektor schreiben. Die Crawling API verwendet das von Ihnen bereitgestellte JavaScript-Token, um die Seite in einem echten Browser zu rendern, sodass die Unterkunftskarten im zurückgegebenen HTML vorhanden sind.
Diese erste Anfrage hat gerade eine vollständig gerenderte Booking.com-Suchseite zurückgegeben, ohne einen Headless-Browser oder einen Proxy auf Ihrer Seite. Die Crawling API führt die Seite in einem echten Browser aus, rotiert serverseitig durch Residential-IPs und handhabt die CAPTCHAs, die Booking.com Scrapern zuwirft, sodass Sie fertiges HTML aus einem Aufruf erhalten. Richten Sie es zunächst auf eine öffentliche Hotelsuche im Free-Tier, dann fügen Sie Ihren Parser hinzu.
Schritt 2: Jede Unterkunftskarte mit Cheerio parsen
Mit gerendertem HTML in der Hand laden Sie es in Cheerio und durchlaufen die Unterkunftskarten. Booking.com umschließt jeden Eintrag mit einem Element, das mit data-testid="property-card" markiert ist, sodass Sie jede Karte auswählen und dann den Namen, Standort, Bewertungs-Score, Preis und den Eintrags-Link aus den eigenen data-testid-Attributen der Seite lesen. Das defensive Lesen jedes Felds verhindert, dass ein fehlender Wert den Lauf abstürzen lässt.
const cheerio = require('cheerio'); function parseDataFromHTML(html) { const $ = cheerio.load(html); const properties = []; const cardSelector = '[data-testid="property-card"]'; $(cardSelector).each((_, card) => { const currentCard = $(card); const extractText = (selector) => currentCard.find(selector).text().trim(); const name = extractText('[data-testid="title"]'); const location = extractText('[data-testid="address"]'); const rating = extractText( '[data-testid="review-score"] div.a3b8729ab1.d86cee9b25', ); const price = extractText( 'span[data-testid="price-and-discounted-price"]', ); const link = currentCard .find('[data-testid="title-link"]') .attr('href'); if (name) { properties.push({ name, price: price || 'Price not available', rating: rating || 'Rating not available', location, link: link || '', }); } }); return properties; }
Einige Details halten dies der Seite treu. Jeder Eintrag befindet sich in einem [data-testid="property-card"]-Element. Innerhalb einer Karte kommt der Name aus [data-testid="title"], der Standort aus [data-testid="address"], der Bewertungs-Score aus dem Score-Block innerhalb von [data-testid="review-score"], der Preis aus span[data-testid="price-and-discounted-price"] und die Eintrags-URL aus dem href des [data-testid="title-link"]-Ankers. Zuerst auf die stabilen data-testid-Hooks zu setzen und nur dort auf generierte Klassennamen zurückzufallen, wo nötig, hält den Parser stabiler, wenn sich das Markup ändert.
Booking.coms generierte Klassennamen (die a3b8729ab1-Stil-Suffixe oben) ändern sich ohne Vorankündigung, und selbst die data-testid-Hooks werden gelegentlich umbenannt. Behandeln Sie die Selektoren als Ausgangssvorlage, nicht als Vertrag. Wenn ein Feld leer zurückkommt, untersuchen Sie erneut die Live-Seite in den Entwicklertools Ihres Browsers und aktualisieren Sie den Selektor. Periodische Selektor-Wartung ist bei jedem Produktions-Scraper normal, kein Zeichen dafür, dass etwas kaputt ist.
Schritt 3: Das vollständige Skript mit JSON- und CSV-Export zusammenbauen
Verbinden Sie nun den Abruf und das Parsen zu einem ausführbaren Skript und schreiben Sie dann die Datensätze sowohl als JSON als auch als CSV auf die Festplatte. Das ältere Tutorial speicherte das rohe HTML zwischen den Schritten in eine Datei; das Abruf und Parsen in einem einzigen Lauf zu verbinden hält die beweglichen Teile überschaubar.
const fs = require('fs'); const { CrawlingAPI } = require('crawlbase'); const cheerio = require('cheerio'); const api = new CrawlingAPI({ token: 'YOUR_CRAWLBASE_TOKEN' }); async function crawl(pageUrl) { const response = await api.get(pageUrl); if (response.statusCode === 200) return response.body; console.error(`Request failed: ${response.statusCode}`); return null; } function toCsv(rows) { const headers = ['name', 'price', 'rating', 'location', 'link']; const escape = (value) => `"${String(value).replace(/"/g, '""')}"`; const lines = [headers.join(',')]; for (const row of rows) { lines.push(headers.map((h) => escape(row[h])).join(',')); } return lines.join('\n'); } async function main() { const url = 'https://www.booking.com/searchresults.html?ss=San+Francisco&checkin=2025-12-25&checkout=2025-12-31&group_adults=2&no_rooms=1&group_children=0&selected_currency=USD'; const html = await crawl(url); if (!html) return; const properties = parseDataFromHTML(html); fs.writeFileSync('booking.json', JSON.stringify(properties, null, 2)); fs.writeFileSync('booking.csv', toCsv(properties)); console.log(`Saved ${properties.length} properties to JSON and CSV`); } main();
Fügen Sie die parseDataFromHTML-Funktion aus Schritt 2 in dieselbe Datei ein, damit main sie aufrufen kann. Führen Sie es mit node scraper.js aus und Sie erhalten zwei Dateien: booking.json mit den vollständigen strukturierten Datensätzen und booking.csv, die direkt in einer Tabellenkalkulation geöffnet werden kann. Der toCsv-Helfer maskiert jedes Feld und verdoppelt eingebettete Anführungszeichen, was hier wichtig ist, weil Unterkunftsnamen und Stadtteil-Labels häufig Kommas enthalten.
Wie die Ausgabe aussieht
Die JSON-Datei enthält ein Objekt pro Unterkunft, jedes mit dem Namen, Preis, öffentlichem Bewertungs-Score, Standort und Eintrags-Link. Die unten gezeigten Werte sind illustrativ; Ihr Lauf spiegelt wider, was für Ihre Suchdaten live ist.
[ { "name": "Hotel Zephyr San Francisco", "price": "US$592", "rating": "8.3", "location": "Fisherman's Wharf, San Francisco", "link": "https://www.booking.com/hotel/us/zephyr-san-francisco.html" }, { "name": "Club Quarters Hotel Embarcadero, San Francisco", "price": "US$554", "rating": "8.0", "location": "Financial District, San Francisco", "link": "https://www.booking.com/hotel/us/club-quarters-san-francisco.html" } ]
Die CSV spiegelt dieselben Unterkunftszeilen mit einer Kopfzeile wider, sodass sie direkt in Excel, Google Sheets oder jede Datenpipeline fällt, die durch Trennzeichen getrennte Dateien liest.
name,price,rating,location,link "Hotel Zephyr San Francisco","US$592","8.3","Fisherman's Wharf, San Francisco","https://www.booking.com/hotel/us/zephyr-san-francisco.html" "Club Quarters Hotel Embarcadero, San Francisco","US$554","8.0","Financial District, San Francisco","https://www.booking.com/hotel/us/club-quarters-san-francisco.html"
Paginierung handhaben
Eine Suchseite ist eine Demo; ein echter Auftrag zieht jede Seite der Ergebnisse. Booking.com paginiert seine Such-URLs mit einem offset-Parameter, der eine feste Anzahl von Unterkünften pro Seite überspringt, sodass Sie über Offsets schleifen, jede Seite über die Crawling API abrufen, mit derselben Funktion parsen und aufhören können, wenn eine Seite keine Karten zurückgibt. Da jede Ergebnisseite dieselbe Kartenstruktur teilt, funktioniert der bereits geschriebene Parser für alle ohne Änderungen.
async function scrapeAllPages(baseUrl, maxPages) { const allProperties = []; const perPage = 25; for (let page = 0; page < maxPages; page++) { // Booking.com skips results with an offset parameter const pageUrl = `${baseUrl}&offset=${page * perPage}`; const html = await crawl(pageUrl); if (!html) break; const properties = parseDataFromHTML(html); if (properties.length === 0) break; // no more results allProperties.push(...properties); console.log(`Page ${page + 1}: ${properties.length} properties`); // Pace requests so you stay under the rate limit await new Promise((r) => setTimeout(r, 2000)); } return allProperties; }
Die genaue Seitengröße und der Parameter können sich ändern, also überprüfen Sie einige echte "Nächste Seite"-Links in Ihrem Browser und gleichen Sie das Muster ab. Die wichtigen Gewohnheiten übertragen sich auf jedes Ziel: Schleifen Sie, bis die Ergebnisse enden, und fügen Sie eine kurze Verzögerung zwischen Anfragen ein, damit Sie die Website nicht mit einem engen Schleifentakt bombardieren. Für mehr zu gerenderten, JavaScript-lastigen Seiten wie dieser lesen Sie unseren Guide zum Crawlen von JavaScript-Websites.
Entsperrt bleiben
Selbst wenn das Rendering gehandhabt wird, beobachtet Booking.com Datenverkehr, der wie ein Scraper aussieht. Einige Gewohnheiten halten einen Lauf gesund, und sie gelten für jedes schwierige kommerzielle Ziel.
- Passen Sie Ihre Anfragen an. Führen Sie eine Verzögerung zwischen Seiten-Abrufen ein statt die Suche in einer engen Schleife zu bombardieren. Das Verteilen von Anfragen ist der wichtigste Einzelfaktor, um unter Booking.coms Ratenlimits zu bleiben.
- Verlassen Sie sich auf Rotation. Ein Pool von Residential-IPs verteilt Anfragen über viele reale Benutzeradressen, sodass keine einzelne ein Limit oder ein CAPTCHA auslöst. Die Crawling API erledigt das für Sie; wenn Sie Ihren eigenen Stack aufbauen, ist das der Teil, den Sie richtig hinbekommen müssen.
- Lesen Sie die Statuscodes. Ein Lauf, der beginnt, Herausforderungen oder Nicht-200-Antworten zurückzugeben, signalisiert Ihnen, dass die aktuelle Rate oder IP-Stufe nicht mehr ausreicht. Behandeln Sie das als Signal zum Zurückschalten, nicht als Rauschen zum Ignorieren.
Das umfassendere Playbook finden Sie in unserem Guide zum Scrapen von Websites ohne geblockt zu werden. Wenn Sie ähnliche Eintrags-Daten von einer anderen Reiseplattform wünschen, überträgt sich dasselbe Abruf-dann-Parse-Muster direkt auf das Scrapen von Airbnb-Preisen und das Scrapen von Expedia mit JavaScript. Um diese Preise über Seiten hinweg zu vergleichen, führt unser Guide zu Web Scraping für Preisintelligenz durch die Analyseseite.
Ist es legal, Booking.com zu scrapen?
Ob das Scrapen von Booking.com erlaubt ist, hängt von Booking.coms Nutzungsbedingungen, Ihrer Jurisdiktion und dem Verwendungszweck der Daten ab. Booking.coms Bedingungen schränken den automatisierten Zugriff ein, sodass Scraping unabhängig davon, wie sorgfältig Ihre Tools sind, gegen diese Bedingungen verstoßen kann. Keiner der hier gezeigten Codes ändert das; er macht nur den technischen Teil funktionsfähig. Lesen Sie Booking.coms Nutzungsbedingungen und seine robots.txt, respektieren Sie alle dort angegebenen Ratenerwartungen und behandeln Sie beide als Grenze für das, was Sie sammeln.
Dieser Guide ist bewusst auf öffentliche Hotel-Eintrags-Daten beschränkt: den Unterkunftsnamen, den angezeigten Preis, den aggregierten Bewertungs-Score, das Viertel und den Eintrags-Link, die jeder auf einer Suchseite ohne Login sehen kann. Das sind sachliche Geschäfts-Eintrags-Informationen über eine Unterkunft, keine personenbezogenen Daten. Anderer Inhalt fällt nicht in den Anwendungsbereich: Individuelle Gästebewertungen und die Personen, die sie geschrieben haben, sind personenbezogene Daten; alles hinter einem Login oder einem Buchungsablauf ist verboten; und Unterkunftsfotos und -beschreibungen sind urheberrechtlich geschützte Materialien, die Sie nicht pauschal weiterverbreiten sollten. Wenn personenbezogene Daten ins Spiel kommen, gilt Datenschutzrecht wie die DSGVO und der CCPA, also beschränken Sie Ihre Erfassung auf die aggregierten, nicht-persönlichen Felder oben.
Wenn Ihr Projekt mehr als öffentliche Einträge benötigt, ist der richtige Weg ein sanktionierter, kein ausgefeilterer Scraper. Booking.com betreibt offizielle Affiliate- und Partnerprogramme, einschließlich einer Demand API, die Unterkunfts-, Verfügbarkeits- und Preisdaten unter klaren Bedingungen mit Zuordnungsregeln und definierten kommerziellen Rechten bereitstellen. Das sind die richtigen Tools, wenn Sie große Volumen, garantierte Struktur oder das Recht zur kommerziellen Wiederverwendung der Daten benötigen. Wenn Sie unsicher sind, ob eine Nutzung erlaubt ist, holen Sie eine Genehmigung oder eine Datenvereinbarung ein, statt Stille als Zustimmung zu behandeln.
Wichtigste Erkenntnisse
- Booking.com rendert Einträge clientseitig und blockiert stark. Eine einfache Anfrage gibt eine leere Hülle oder ein CAPTCHA zurück, also müssen Sie die Seite hinter einer vertrauenswürdigen IP rendern, indem Sie das JavaScript-Token verwenden, bevor Sie parsen.
- Die Crawling API erledigt beides in einem Aufruf. Sie rendert die Seite in einem echten Browser, rotiert Residential-IPs und handhabt CAPTCHAs, gibt fertiges HTML zurück, das Sie mit Cheerio parsen.
-
Cheerio extrahiert die Felder. Wählen Sie jede
[data-testid="property-card"]aus, lesen Sie dann Name, Preis, Bewertungs-Score, Standort und Eintrags-Link und erwarten Sie, dass die generierten Klassennamen veralten. - Paginieren und exportieren. Schleifen Sie über Booking.coms Offset-Parameter bis die Ergebnisse enden, passen Sie Ihre Anfragen an und schreiben Sie strukturierte Datensätze sowohl nach JSON als auch CSV.
- Bleiben Sie bei öffentlichen Daten. Sammeln Sie nur öffentliche Hotel-Einträge, behandeln Sie individuelle Gästebewertungen und Rezensenten als personenbezogene Daten, respektieren Sie ToS und robots.txt und bevorzugen Sie Booking.coms offizielle Partner-API für Volumen oder kommerzielle Nutzung.
Häufig gestellte Fragen
Kann ich einen Booking.com-Scraper in einer anderen Sprache als JavaScript erstellen?
Ja. Dieser Guide verwendet JavaScript mit Cheerio, aber derselbe Ansatz funktioniert in jeder Sprache. Die Crawling API hat Bibliotheken und SDKs für mehrere Sprachen, also rufen Sie das gerenderte HTML auf dieselbe Weise ab und parsen es mit dem HTML-Parser, den Ihr Stack bevorzugt, beispielsweise BeautifulSoup in Python. Die Selektoren und Felder bleiben gleich; nur die Parsing-Syntax ändert sich.
Warum gibt eine einfache Anfrage unvollständige Daten von Booking.com zurück?
Weil Booking.com seine Unterkunftsliste clientseitig mit JavaScript erstellt und automatisierten Datenverkehr mit CAPTCHAs herausfordert. Eine rohe HTTP-Anfrage von einer Datacenter-IP gibt normalerweise eine leere Hülle oder eine Block-Seite statt der Unterkunftskarten zurück. Um eine vollständige Seite zu erhalten, müssen Sie sie hinter einer vertrauenswürdigen IP rendern, was die Crawling API für Sie übernimmt, wenn Sie das JavaScript-Token verwenden.
Meine Selektoren geben leere Werte zurück. Was hat sich geändert?
Höchstwahrscheinlich Booking.coms Markup. Seine generierten Klassennamen wie a3b8729ab1 ändern sich ohne Vorankündigung, und selbst die data-testid-Hooks werden gelegentlich umbenannt, sodass Selektoren, die letzten Monat funktionierten, brechen können. Untersuchen Sie erneut eine Live-Seite in den Entwicklertools Ihres Browsers, aktualisieren Sie die Selektoren in parseDataFromHTML, und Sie sind wieder einsatzbereit. Periodische Selektor-Wartung ist bei jedem Produktions-Scraper normal.
Werde ich beim Scrapen von Booking.com blockiert?
Sie können, wenn Sie zu viele Anfragen zu schnell von einer Adresse senden. Die Crawling API reduziert dieses Risiko, indem sie durch Residential-IPs rotiert und CAPTCHAs für Sie handhabt, aber Sie sollten Ihre Anfragen dennoch anpassen, Verzögerungen zwischen Seiten hinzufügen und die Statuscodes beobachten, damit Sie zurückschalten können, wenn Herausforderungen auftreten. Diese Gewohnheiten sind bei jedem schwierigen kommerziellen Ziel wichtig.
Kann ich individuelle Gästebewertungen und Rezensenten-Namen scrapen?
Das fällt nicht in den Anwendungsbereich dieses Guides, und das aus gutem Grund. Individuelle Bewertungen und die Personen, die sie geschrieben haben, sind personenbezogene Daten, was Datenschutzrecht wie die DSGVO und den CCPA ins Spiel bringt. Verwenden Sie den aggregierten Gäste-Bewertungs-Score als Signal über eine Unterkunft, erstellen Sie keine Profile von einzelnen Rezensenten und veröffentlichen Sie keine Bewertung einer Person verknüpft mit ihrer Identität. Für alles über öffentliche Einträge hinaus verwenden Sie Booking.coms offizielles Partnerprogramm.
Hat Booking.com eine offizielle API?
Ja. Booking.com betreibt offizielle Affiliate- und Partnerprogramme, einschließlich einer Demand API, die Unterkunfts-, Verfügbarkeits- und Preisdaten unter klaren Bedingungen mit Zuordnungsregeln und definierten kommerziellen Rechten bereitstellen. Wenn Sie große Volumen, garantierte Struktur oder das Recht zur kommerziellen Wiederverwendung der Daten benötigen, ist dieser sanktionierte Weg der richtige. Dieser öffentliche Daten-Scraper ist am besten für Recherche, Prototyping und kleinmaßstäbliche Analysen geeignet, bei denen eine offizielle Vereinbarung nicht gerechtfertigt ist.
Crawlen Sie jede Website im großen Maßstab, ohne gegen die Infrastruktur zu kämpfen.
Crawlbase übernimmt Proxys, Fingerprints und CAPTCHAs, damit Ihr Team Datenpipelines ausliefert, statt Crawl-Infrastruktur zu pflegen. 1.000 Anfragen kostenlos, keine Karte erforderlich.
