Booking Such-Scraper

Gleiche Stadt, gleiche Seite.
Andere Spalten.

Wir halten neunzig Zeilen aus drei erfolgreichen Läufen über eine Stadt, und der wichtigste Befund handelt nicht von Hotels. Drei der sechzehn Spalten erschienen oder verschwanden je nach der Darstellung, die die Seite an jenem Tag auslieferte - Währung, Entfernungseinheit, Steuerzeile und Sterne-Feld bewegten sich alle gemeinsam. Lesen Sie das, bevor Sie zwei Exporte vergleichen.

einmalig 500 Zeilen gratisdanach 0,002 $ pro Zeile90 Zeilen aus 5 LäufenCSV · JSON · Excel
So funktioniert es

Eine Such-URL rein, eine Tabelle raus.

  1. SCHRITT 1Melden Sie sich auf der Plattform an.
  2. SCHRITT 2Öffnen Sie den Booking Search Scraper.
  3. SCHRITT 3Fügen Sie die gewünschten Booking-Such-URLs ein, eine pro Zeile - eine Ergebnisseite für ein Reiseziel. In unseren Läufen funktionierten sowohl die kurze als auch die vollständig ausgeschriebene Zielform.
  4. SCHRITT 4Wählen Sie Ihr Ausgabeformat (CSV / JSON / XLSX).
  5. SCHRITT 5Starten Sie den Job.
  6. SCHRITT 6Laden Sie die Ergebnisse herunter - sechzehn Spalten, eine Zeile je Suchtreffer.
Was Sie erwartet

Was man wissen sollte, bevor man ihn laufen lässt.

Die Darstellung entscheidet, welche Spalten Sie bekommen

Das ist der Befund, um den herum man plant. Zwei unserer Läufe kamen mit Preisen in einer Währung und Entfernungen in Meilen zurück; der dritte kam in einer anderen Währung mit Entfernungen in Kilometern. So weit ist das kosmetisch. Nicht kosmetisch ist, dass sich drei Spalten mitbewegten: Der Lauf in der zweiten Währung trug auf jeder einzelnen Zeile eine Steuerzeile und auf fast allen ein Sterne-Feld - und trug überhaupt keinen Vorher-Preis. Die zwei Läufe in der ersten Währung waren das exakte Spiegelbild: ein Vorher-Preis auf manchen Zeilen und nirgends eine Steuerzeile oder ein Sterne-Feld. Gleiche Seite, gleiche Stadt.

Die Sterne-Spalte hält keine Anzahl von Sternen

Über neunzig Zeilen nahm das Feld sechs Werte an und keine anderen: bei mehr als der Hälfte leer, sonst 4, 8, 12, 16 oder 20 - stets ein Vielfaches von vier, nie eine 1, 2, 3 oder 5. Die beiden Häuser mit dem höchsten Wert sind die zwei Luxushotels im Datensatz; die mit dem niedrigsten sind Budgethotels. Die Spalte ist also vereinbar mit dem Vierfachen einer Eins-bis-fünf-Bewertung. Wir stellen das nicht als Tatsache hin, weil wir es nicht an der Live-Anzeige prüfen konnten - siehe die Anmerkung zum Zugang unten.

Der Preis gilt für eine Nacht, die der Export nicht benennt

Jede Zeile trägt einen Preis und keine ein Datum. An- und Abreise, für die der Preis gilt, stecken im Link, in seinem Querystring, und lagen in unseren Läufen etwa vierzehn Tage nach dem Lauf selbst. Eine Preisspalte, die über zwei Exporte hinweg verglichen wird, vergleicht also zwei verschiedene Nächte, solange Sie die Daten nicht vorher aus der URL ziehen. Die Belegungsspalte hilft auch nicht: Sie lautete auf allen neunzig Zeilen gleich, weil sie die Voreinstellung der Suche ist und nichts über das Hotel aussagt.

Dieselbe Suche zweimal liefert andere Hotels

Wir liefen dieselbe Abfrage vier Tage später erneut, und die beiden Ergebnismengen teilten sich überhaupt keine Hotelseiten. Ein dritter Lauf teilte sich vier. Genau das erwartet man von einer Seite, die Verfügbarkeit für eine bestimmte Nacht sortiert, statt die Hotels einer Stadt aufzulisten - aber es bedeutet, dass dieser Export eine Momentaufnahme ist, kein Verzeichnis. Bauen Sie daraus keine stabile Hotelliste; bauen Sie eine Zeitreihe und schlüsseln Sie sie auf die Hotelseitenadresse ohne Tracking-Parameter.

Es gibt keine Statusspalte, ein leerer Lauf schweigt also

Zwei unserer fünf Läufe lieferten überhaupt nichts - eine leere Datei, keine Zeilen, keine Erklärung. Jeder Katalogdienst, den wir betreiben, schreibt ein Kennzeichen je Zeile, das eine Blockade oder eine abgewiesene Eingabe festhält; dieser hat keine solche Spalte, wenn ein Lauf also leer zurückkommt, gibt es keinen Ort für einen Grund. Planen Sie damit: Prüfen Sie die Zeilenzahl selbst und behandeln Sie null als etwas zum Wiederholen und nicht als Antwort.

Zwei Arten, „leer“ zu sagen, in einer Datei

Die meisten Spalten verwenden eine leere Zeichenkette, wenn es nichts zu melden gibt. Zwei - die Steuerzeile und das Aktionslabel - verwenden stattdessen ein JSON-Null und nie eine leere Zeichenkette. Ein Loader, der nur auf eines von beiden prüft, behandelt das andere still falsch, und genau nach diesen Feldern würden Sie filtern, um vergünstigte Zimmer zu finden. Eine Kleinigkeit, die einen Nachmittag kostet, wenn man ihr spät begegnet.

Was Sie zurückbekommen

Sechzehn Spalten, und neun kommen immer.

Aus einem echten Export gelesen, in Blattreihenfolge, mit Füllzahlen über alle neunzig Zeilen, die wir halten. Wo eine Spalte als manchmal abwesend beschrieben wird, sagt die Anmerkung, wovon das abhängt - denn bei diesem Dienst ist das meist der Lauf und nicht das Hotel.

query
Die Booking-Such-URL, die Sie übermittelt haben, zurückgegeben. Auf allen 90 Zeilen gefüllt. Beide von uns probierten Zielformen funktionierten, so erkennen Sie also, aus welcher Suche ein Block von Zeilen stammt.
name
Der Name der Unterkunft, wie die Ergebnisseite ihn angibt. Auf allen 90 Zeilen gefüllt - das verlässlichste Feld des Exports und dasjenige, auf das man einen lesbaren Bericht schlüsselt.
stars
Auf 39 von 90 Zeilen gefüllt, und nie in den beiden Läufen in der ersten Währung. Es hält keine Anzahl von Sternen: Über alle Zeilen hinweg nahm es nur die Werte 4, 8, 12, 16 oder 20 an. Das ist vereinbar mit dem Vierfachen einer Eins-bis-fünf-Bewertung, und die Häuser am oberen und unteren Rand passen dazu, aber wir konnten es nicht an der Live-Seite prüfen. Teilen Sie mit Vorsicht und validieren Sie vor der Anzeige.
rating
Die Gästebewertung auf einer Zehnerskala. Auf 89 von 90 Zeilen gefüllt, in unserem Bestand von 1,3 bis 9,4. Die einzige Ausnahme ist eine Unterkunft, die auch keine Rezensionszahl und kein Label hatte - ein Eintrag, für den noch nichts bewertet wurde.
review_label
Das Wort, das die Seite neben die Bewertung setzt. Auf 65 von 90 Zeilen gefüllt, mit den zu erwartenden Werten - plus einem, das gar kein Wort ist, sondern die Spaltenüberschrift der Seite selbst, auf fünf Zeilen mit jeweils nur einer Handvoll Rezensionen. Filtern Sie diesen Wert heraus, bevor Sie danach gruppieren.
reviews
Auf wie vielen Rezensionen die Bewertung beruht. Auf 89 von 90 Zeilen gefüllt, von einer einzigen Rezension bis zu mehreren Tausend. Lesenswert neben rating: Die niedrigste Bewertung in unseren Daten sitzt auf drei Rezensionen.
location
Das Viertel und die Stadt, wie die Ergebnisseite sie bezeichnet. Auf allen 90 Zeilen gefüllt. Ein Bezirksname statt einer Adresse - in diesem Export gibt es nirgends eine Straße, Postleitzahl oder Koordinate.
distance
Wie weit die Unterkunft vom Zentrum entfernt ist, als Freitext. Auf allen 90 Zeilen gefüllt - aber die Einheit folgt dem Lauf, nicht der Unterkunft: Meilen in zwei unserer Läufe und Kilometer im dritten. Lesen Sie die Einheit aus, nehmen Sie sie nie an.
room_type
Das konkrete Zimmer, für das der genannte Preis gilt. Auf allen 90 Zeilen gefüllt. Beachten Sie, dass einige Werte auf ein verirrtes Etikett enden, wo die Bettenangabe in den Zimmernamen gelaufen ist - ein Erfassungsartefakt, das man abschneiden sollte.
occupancy
Der Aufenthalt, den der Preis abdeckt. Auf allen 90 Zeilen gefüllt - mit demselben Wert auf jeder einzelnen. Er spiegelt die Voreinstellung der Suche und nicht etwas über den Eintrag, trägt über Zeilen hinweg also keine Information. Behandeln Sie ihn als Konstante zum Prüfen, nicht als Feld zum Gruppieren.
price
Der ausgewiesene Übernachtungspreis, mit Währungssymbol. Auf allen 90 Zeilen gefüllt - und die Währung ist die des Laufs, nicht die des Hotels. Zwei unserer Läufe nannten für dieselbe Stadt eine Währung und der dritte eine andere; entfernen und rechnen Sie also um, bevor Sie irgendetwas über Exporte hinweg vergleichen.
original_price
Der durchgestrichene Vorher-Preis, wo der Eintrag einen zeigt. Auf 13 von 90 Zeilen gefüllt, alle in der ersten Währung - der Lauf in der zweiten Währung trug überhaupt keinen. Elf der dreizehn tragen zusätzlich ein Aktionslabel und zwei nicht, ein Rabatt kann also bestehen, ohne benannt zu sein.
taxes
Die Steuer- und Gebührenzeile unter dem Preis. Auf 42 von 90 Zeilen gefüllt - das ist jede Zeile eines Laufs und keine der beiden anderen. Das ist der deutlichste Fall einer Spalte, die von der Darstellung abhängt statt von der Unterkunft. Fehlende Werte kommen als JSON-Null an, nicht als leere Zeichenkette.
deal
Das Aktionslabel, wo eines gezeigt wird. Auf 29 von 90 Zeilen gefüllt, mit einer kleinen Menge benannter Kampagnenwerte. Wie bei taxes kommt ein fehlender Wert als JSON-Null und nicht als leere Zeichenkette.
url
Der Link zur Seite der Unterkunft. Auf allen 90 Zeilen gefüllt - und stark verziert: eine Partnerkennung, ein Tracking-Label, eine Sitzungskennung, ein Zeitstempel und die Blockkennungen hinter dem genannten Preis, alle im Querystring. Auch An- und Abreise, für die der Preis gilt, stecken hier drin - und sonst nirgends im Export. Kürzen Sie auf den Pfad für einen stabilen Schlüssel; lesen Sie die Daten vorher heraus.
image
Ein Vorschaubild auf dem Bildhost der Seite. Auf allen 90 Zeilen gefüllt, in einer kleinen festen Größe. Für eine Listenansicht in Ordnung, für ein Produktbild zu klein.

Sechzehn Spalten je Zeile · CSV, JSON oder Excel

Über jeder Spaltenanmerkung hier stehen zwei strukturelle Tatsachen. Die erste: Dieser Export hat keine Statusspalte. Jeder andere Dienst, den wir betreiben, schreibt ein Kennzeichen je Zeile, das festhält, ob der Abruf gelang, abgewiesen wurde oder die falsche Art von Eingabe bekam - und genau so hätten sich zwei unserer fünf Läufe erklärt. Sie lieferten null Zeilen und sonst nichts, die Datei kann Ihnen also nicht sagen, ob die Suche leer war, die Seite nicht lud oder etwas dazwischen. Prüfen Sie die Zeilenzahl in Ihrer eigenen Verarbeitung und behandeln Sie eine Null als Wiederholung. Die zweite: Drei Spalten hängen von der Darstellung ab statt von der Unterkunft. Der Lauf in der zweiten Währung trug auf jeder Zeile eine Steuerzeile und auf fast jeder einen Sternewert und trug überhaupt keinen Vorher-Preis; die zwei Läufe in der ersten Währung waren das exakte Spiegelbild. Die Entfernungseinheit wechselte mit. Das heißt, ein naiver Vergleich zweier Exporte meldet, Hotels hätten Eigenschaften gewonnen und verloren, obwohl sich an ihnen nichts geändert hat - halten Sie also fest, in welcher Währung ein Lauf zurückkam, und vergleichen Sie Gleiches mit Gleichem. Alles andere ist gewöhnlich: Neun Spalten kamen auf allen neunzig Zeilen an, die Bewertung und ihre Rezensionszahl auf allen bis auf eine, und die übrigen Felder sind genau so optional, wie man es erwartet.

Häufige Arbeitsabläufe

Wofür eine Suchmomentaufnahme gut ist.

Preisbeobachtung

Verfolgen, was eine Stadt in einer bestimmten Nacht kostet

Lassen Sie dasselbe Reiseziel nach Plan laufen, ziehen Sie das Anreisedatum aus dem Link, und Sie haben eine Preisreihe je Nacht statt je Lauf. Schlüsseln Sie sie auf die Seite der Unterkunft ohne Tracking-Parameter und halten Sie die Währung daneben fest - dieses Paar macht zwei Läufe vergleichbar.

Erlös · Preisgestaltung
Wettbewerbsumfeld

Sehen, wer Rabatte gibt und wie hoch

Vorher-Preis und Aktionslabel sagen zusammen, welche Einträge die Preise senken und welche eine benannte Kampagne fahren. Beide sind optional, und eine unserer Zeilen war vergünstigt, ohne ein Label zu tragen - berechnen Sie den Abstand also aus den zwei Preisspalten, statt dem Label allein zu trauen.

Hotellerie · Wettbewerbsanalyse
Marktüberblick

Angebot und Bewertungen eines Reiseziels erfassen

Neunzig Zeilen über eine Stadt lieferten uns Bewertungen von den niedrigen Einsern bis in die mittleren Neuner und Rezensionszahlen von einer einzigen bis zu mehreren Tausend. Das reicht, um die Form eines Marktes zu beschreiben - solange Sie im Kopf behalten, dass Sie die für eine Nacht verfügbaren Einträge beschreiben und nicht den Hotelbestand der Stadt.

Recherche · Analyse
Vergleich auf Zimmerebene

Gleiches mit Gleichem vergleichen, nicht Hotel mit Hotel

Jede Zeile benennt das konkrete Zimmer, für das der Preis gilt, ein Vergleich zweier Häuser ist also in Wahrheit ein Vergleich zweier Zimmertypen. Normalisieren Sie diese Spalte zuerst - einige Werte tragen ein verirrtes Bettenetikett -, und die entstehende Tabelle ist weit ehrlicher als eine nackte Preis-je-Hotel-Liste.

Analyse · Datenqualität
Preise

Gelieferte Zeilen, nicht unternommene Versuche.

Gratis-Kontingent

Die ersten 500 Zeilen sind gratis

Einmalig, bei der Anmeldung. Keine Karte, und nichts, was danach gekündigt werden müsste.

Einmalig, bei der Anmeldung
Preis

danach 0,002 $ pro Zeile

Abgerechnet nach tatsächlich gelieferten Zeilen. Eine Such-URL erzeugte in zwei unserer Läufe rund vierzig Zeilen und in zwei anderen keine, die Kosten eines Jobs folgen also dem, was zurückkommt, und nicht der Zahl der eingereihten Suchen.

Abgerechnet nach gelieferten Zeilen
Kein Abo

Nichts Wiederkehrendes

Guthaben verfällt nicht im Monatsrhythmus, ein wöchentlicher Zeitplan, der gelegentlich leer zurückkommt, lässt also nichts still versickern.

Kein monatlicher Verfall
10 % Rabatt auf Ihren ersten bezahlten Lauf.Verwenden Sie beim Checkout den Code LIVESCRAPER10.
Registrieren
Passt gut zu

Andere Orte, an denen Menschen ein Zimmer suchen.

Das Rechtliche

Ist es legal, Booking.com zu scrapen?

Preise, Bewertungen und Zimmernamen auf einer öffentlichen Ergebnisseite sind gewöhnliche Geschäftstatsachen. Sorgfalt verdient hier die Schicht vor der Seite - und die Tatsache, dass wir selbst nicht an ihr vorbeikamen.

Ein Übernachtungspreis, ein Hausname und ein Zimmertyp sind Tatsachen über zum Verkauf angebotene Unterkunft, gelesen von einer Seite, die jedem Besucher ausgeliefert wird. Nichts in den sechzehn Spalten beschreibt einen Gast: kein Name, keine E-Mail-Adresse, keine Telefonnummer, keine Buchungsnummer. Die Rezensionszahlen und Bewertungen sind Aggregate, die die Seite selbst auf dem Eintrag veröffentlicht, keine einzelnen Rezensionen einzelner Personen - die datenschutzrechtlichen Fragen, die unsere personenbezogenen Dienste prägen, bleiben hier also außen vor. Was der Export sehr wohl trägt, ist ein Link, der mit einer Partnerkennung und einem Sitzungstoken verziert ist; den sollte man entfernen, bevor man Zeilen irgendwo gemeinsam ablegt.

Die erklärte Präferenz der Seite ist auf den Pfaden, die dieser Dienst verwendet, großzügig. Ihre robots.txt beantwortete am 12. August 2026 eine gewöhnliche Anfrage mit HTTP 200, und mit einem richtigen Gruppen-Matcher gelesen enthält die allgemeine Gruppe einundsiebzig Regeln und keinen pauschalen Ausschluss; sowohl der Suchergebnispfad als auch die Unterkunftsseiten, auf die unsere Zeilen verlinken, sind erlaubt. Die pauschalen Ausschlüsse in dieser Datei gehören einer Handvoll namentlich genannter Crawler, nicht den allgemeinen. Die Laufzeit ist eine andere Sache, und wir sagen das lieber klar, als so zu tun, als wären wir hineinspaziert: Eine gewöhnliche Anfrage von uns nach einer Unterkunftsseite und nach dem Suchpfad kam jeweils mit einer Zwischenseite statt Inhalt zurück, wir konnten also keine einzige Zeile an der Live-Anzeige bestätigen. Alles auf dieser Seite stammt daher aus dem Export selbst. Unser eigener Katalog hält fest, dass dieser Dienst einen bezahlten Residential-Proxy braucht, und nennt einen anderen Schutzanbieter als den, auf den unsere Prüfung stieß. Wir berichten beide und wählen keinen.

Unsere eigenen Bedingungen sind dieselben wie bei jedem anderen Dienst hier. Nur öffentlich zugängliche Seiten, nichts hinter einem Login, keine Tracker Dritter auf der Datenebene, und Exporte werden nach 30 Tagen automatisch gelöscht. Ihre ersten 500 Zeilen sind gratis und brauchen keine Kreditkarte.

livescraper.app · was einen Lauf prägt
robots.txt erlaubt den Suchpfad und die Unterkunftsseiten
Eine schlichte Anfrage nach Inhalt traf auf eine Zwischenseite
90 Zeilen aus 3 Läufen; 2 weitere lieferten nichts
Keine Zeile konnte an der Live-Anzeige geprüft werden
Exporte werden nach 30 Tagen automatisch gelöscht
Für die Schicht vor dieser Seite sind zwei Namen aktenkundig. Wir berichten beide und wählen keinen.
Häufige Fragen

Was Leute fragen, bevor sie sich anmelden.

Warum sind zwischen zwei Läufen Spalten verschwunden?+
Weil sich die Darstellung geändert hat. In unseren Daten bewegten sich Währung, Entfernungseinheit, Steuerzeile und Sterne-Feld alle gemeinsam: Der in einer Währung ausgelieferte Lauf trug auf jeder Zeile einen Steuerwert und auf fast allen einen Sternewert und überhaupt keinen Vorher-Preis, während die Läufe in der anderen Währung das exakte Spiegelbild waren. An den Hotels änderte sich nichts. Halten Sie fest, in welcher Währung ein Lauf zurückkam, und vergleichen Sie Gleiches mit Gleichem.
Was hält die Sterne-Spalte eigentlich?+
Keine Anzahl von Sternen. Über neunzig Zeilen nahm sie nur die Werte 4, 8, 12, 16 und 20 an, oder gar nichts - nie eine 1, 2, 3 oder 5. Die Häuser mit dem höchsten Wert sind die Luxushotels im Datensatz und die mit dem niedrigsten Budgethotels, es ist also vereinbar mit dem Vierfachen einer Eins-bis-fünf-Bewertung. Wir stellen das nicht als Tatsache hin, weil die Live-Seite uns eine Zwischenseite statt Inhalt auslieferte und wir es nicht prüfen konnten.
Für welche Nacht gilt der Preis?+
Für eine, die keine Spalte benennt. An- und Abreisedatum stecken im Querystring des Links, und in unseren Läufen lagen sie etwa vierzehn Tage nach dem Lauf. Die Belegungsspalte hilft nicht - sie lautete auf allen neunzig Zeilen gleich, weil sie die Voreinstellung der Suche widerspiegelt. Ziehen Sie die Daten aus der URL, bevor Sie zwei Preise vergleichen.
Warum liefert dieselbe Suche jedes Mal andere Hotels?+
Weil sie Verfügbarkeit für eine bestimmte Nacht sortiert, statt die Hotels einer Stadt aufzulisten. Wir liefen dieselbe Abfrage vier Tage später erneut, und die beiden Ergebnismengen teilten sich überhaupt keine Unterkunftsseiten; ein dritter Lauf teilte sich vier. Behandeln Sie jeden Export als Momentaufnahme und schlüsseln Sie Ihre Zeitreihe auf die Adresse der Unterkunftsseite ohne Tracking-Parameter.
Einer meiner Läufe kam leer zurück. Was ist passiert?+
Wir können es Ihnen nicht sagen, und die Datei auch nicht. Zwei unserer fünf Läufe lieferten null Zeilen, und dieser Dienst hat keine Statusspalte - anders als bei jedem Katalogdienst, den wir betreiben, gibt es also keinen Ort, an dem ein Grund festgehalten werden könnte. Prüfen Sie die Zeilenzahl selbst und behandeln Sie eine Null als etwas zum Wiederholen.
Haben Sie die Zeilen gegen Booking.com geprüft?+
Nein, und das sagen wir lieber. Am 12. August 2026 lieferte eine gewöhnliche Anfrage nach einer Unterkunftsseite und nach dem Suchpfad jeweils eine Zwischenseite statt Inhalt. Alles auf dieser Seite ist also aus dem Export gemessen und nichts als an der Live-Anzeige bestätigt dargestellt. Das ist eine echte Grenze dessen, was wir hier behaupten können, und unter unseren Seiten ungewöhnlich.
Ist Booking.com blockiert?+
Die robots.txt ist auf den Pfaden, die dieser Dienst verwendet, großzügig - einundsiebzig Regeln in der allgemeinen Gruppe, kein pauschaler Ausschluss, und sowohl der Suchpfad als auch die Unterkunftsseiten erlaubt. Was zur Laufzeit vor der Seite sitzt, ist eine andere Schicht. Unser eigener Katalog hält fest, dass dieser Dienst einen bezahlten Residential-Proxy braucht, und nennt einen Schutzanbieter; unsere Prüfung stieß auf einen anderen. Wir berichten beide und wählen keinen.
Wie gehe ich mit den leeren Werten um?+
Sorgfältig, denn in einer Datei stecken zwei Konventionen. Die meisten Spalten verwenden eine leere Zeichenkette, wenn es nichts zu melden gibt, aber die Steuerzeile und das Aktionslabel verwenden stattdessen ein JSON-Null und nie eine leere Zeichenkette. Genau nach diesen Feldern würden Sie filtern, um vergünstigte Zimmer zu finden, ein Loader, der nur auf eines von beiden prüft, liegt also still falsch.
Wie viele Zeilen sollte ich je Suche erwarten?+
Unsere drei erfolgreichen Läufe lieferten aus je einer Such-URL fünf, zweiundvierzig und dreiundvierzig Zeilen. Wir machen daraus keinen Durchschnitt - zwei andere Läufe lieferten nichts, und eine Stichprobe von fünf ist viel zu klein, um daraus eine Ausbeute zu versprechen.
In welchen Formaten kann ich exportieren?+
CSV, JSON oder Excel. Die sechzehn Spalten und ihre Reihenfolge sind in allen dreien gleich. Beachten Sie, dass die oben beschriebene Unterscheidung zwischen Null und leer im JSON sichtbar ist und in den Tabellenformaten verflacht.

Neunzig Zeilen, und zu jeder eine ehrliche Anmerkung.

Hotel, Bewertung, Rezensionszahl, Lage, Zimmertyp, Preis und ein Link - eine Zeile je Suchtreffer. Lesen Sie die Anmerkung dazu, wie sich die Spalten mit der Darstellung verschieben, bevor Sie zwei Exporte vergleichen. Ihre ersten 500 Zeilen sind gratis, danach je 0,002 $.

Sofort aktiv · keine Karte erforderlich

Booking-Suchergebnisse scrapen

Booking.com ist einer der größten Unterkunftsmarktplätze der Welt, und dieser Dienst verwandelt eine seiner Suchergebnisseiten in eine Tabelle: eine Zeile je Eintrag, sechzehn Spalten, mit dem Namen der Unterkunft, ihrer Gästebewertung und Rezensionszahl, dem Viertel, der Entfernung zum Zentrum, dem konkreten Zimmer, für das der Preis gilt, dem Übernachtungspreis, einem etwaigen durchgestrichenen Vorher-Preis, einer etwaigen Steuerzeile, einem etwaigen Aktionslabel, einem Link und einem Vorschaubild. Wir halten fünf Läufe über eine einzige Stadt, von denen drei Zeilen lieferten - fünf, dreiundvierzig und zweiundvierzig - und zwei überhaupt nichts. Neunzig Zeilen sind eine vernünftige Grundlage, um zu beschreiben, wie der Export aussieht, und jede Zahl auf dieser Seite ist daran gemessen.

Das Nützlichste, was wir fanden, handelt nicht von Hotels. Zwei unserer Läufe kamen mit Preisen in einer Währung und Entfernungen in Meilen zurück; der dritte kam in einer anderen Währung mit Entfernungen in Kilometern. So weit ist das kosmetisch. Nicht kosmetisch ist, dass sich drei Spalten mit der Darstellung bewegten: Der Lauf in der zweiten Währung trug auf jeder einzelnen Zeile eine Steuerzeile und auf fast allen einen Sternewert und trug nirgends einen Vorher-Preis, während die zwei Läufe in der ersten Währung das exakte Spiegelbild waren - ein Vorher-Preis auf manchen Zeilen und überhaupt kein Steuer- oder Sterne-Feld. An den Unterkünften änderte sich zwischen jenen Läufen nichts. Wenn Sie zwei Exporte vergleichen, ohne festzuhalten, in welcher Darstellung jeder zurückkam, wird der Vergleich Ihnen sagen, dass Hotels Eigenschaften gewonnen und verloren haben - und er wird sich irren.

Zwei weitere strukturelle Punkte lohnen sich, bevor Sie einen Loader schreiben. Der erste ist die Sterne-Spalte, die keine Anzahl von Sternen hält: Über alle neunzig Zeilen nahm sie nur die Werte vier, acht, zwölf, sechzehn und zwanzig an, oder gar nichts - nie eine Eins, eine Zwei, eine Drei oder eine Fünf. Die Häuser mit dem höchsten Wert sind die Luxushotels im Datensatz und die mit dem niedrigsten Budgethäuser, das Feld ist also vereinbar mit dem Vierfachen einer üblichen Eins-bis-fünf-Bewertung. Aus dem unten genannten Grund stellen wir das nicht als Tatsache hin. Der zweite ist, dass am Preis kein Datum hängt. Jede Zeile trägt einen Preis und keine eine Nacht; An- und Abreise, für die der Preis gilt, sitzen im Querystring des Links und sonst nirgends, und die Belegungsspalte ist auf allen neunzig Zeilen identisch, weil sie die Voreinstellung der Suche widerspiegelt und nicht den Eintrag. Zwei Preise, die ohne vorheriges Herausziehen dieser Daten verglichen werden, sind zwei verschiedene Nächte.

Auf dieser Seite gibt es außerdem eine Grenze, die wir lieber benennen als übertünchen. Am 12. August 2026 beantwortete die robots.txt der Seite eine gewöhnliche Anfrage und ist auf den Pfaden, die dieser Dienst verwendet, großzügig - einundsiebzig Regeln in der allgemeinen Gruppe, kein pauschaler Ausschluss, und sowohl der Suchpfad als auch die Unterkunftsseiten erlaubt. Aber eine gewöhnliche Anfrage nach tatsächlichem Inhalt, auf einer Unterkunftsseite ebenso wie auf dem Suchpfad, kam als Zwischenseite statt als Seite zurück. Anders als bei den meisten unserer Katalogseiten ist hier also keine Zeile an der Live-Anzeige bestätigt worden; alles ist aus dem Export gemessen. Unser eigener Servicekatalog hält fest, dass dieser Scraper einen bezahlten Residential-Proxy braucht, und nennt einen Schutzanbieter für die Seite, während unsere eigene Prüfung auf einen anderen stieß - zwei Namen für dieselbe Schicht, und wir berichten beide und wählen keinen. Behandeln Sie schließlich jeden Export als Momentaufnahme statt als Verzeichnis: Wir liefen dieselbe Abfrage vier Tage später erneut, und die beiden Ergebnismengen teilten sich überhaupt keine Unterkunftsseiten, was eine Seite, die Verfügbarkeit für eine Nacht sortiert, eben tut. Nur öffentlich zugängliche Seiten, keine Tracker Dritter auf der Datenebene, Exporte werden nach 30 Tagen automatisch gelöscht, und Ihre ersten 500 Zeilen sind gratis, ohne Kreditkarte.