Bei der Reiseplanung nutzen die meisten Reisenden Google, um Hotels zu finden. Die Plattform zeigt Hotellisten, Preise, Bewertungen und Verfügbarkeit an einem Ort. Für Unternehmen, Analysten oder Reiseplattformen sind diese Daten Gold wert. Durch das Scraping von Google Hotels können Sie Preistrends verfolgen, Wettbewerber beobachten und Marktchancen in der Reisebranche analysieren.
In diesem Leitfaden zeigen wir Ihnen, wie Sie Google Hotels mit Python scrapen und Crawlbase Crawling APIMit dieser Methode können Sie Hoteldaten in großem Umfang erfassen, ohne sich um Sperren, CAPTCHAs oder IP-Sperren kümmern zu müssen. Wir decken alles ab, von der Einrichtung Ihrer Umgebung bis hin zum Schreiben eines kompletten Scrapers für Hotellisten und einzelne Hotelseiten.
Google Hotels ist eine der meistgenutzten Plattformen zum Finden und Vergleichen von Hotelangeboten. Sie zeigt Preise, Standorte, Bewertungen und Buchungsoptionen – alles an einem Ort. Durch das Scraping von Google Hotels können Sie Daten für Preisüberwachung, Wettbewerbsanalysen und Einblicke in den Reisemarkt sammeln.
Hier sind einige häufige Anwendungsfälle für das Scraping von Google Hotels:
Verfolgen Sie die Hotelpreise: Sehen Sie, wie sich die Preise im Laufe der Zeit an verschiedenen Standorten und in verschiedenen Jahreszeiten ändern.
Wettbewerber vergleichen: Sehen Sie, wie andere Hotels bewertet, bepreist und verfügbar sind.
Reiseforschung: Erstellen Sie Tools, die die besten Hotelangebote, Reisemuster oder die Beliebtheit von Reisezielen anzeigen.
Daten für maschinelles Lernen: Verwenden Sie historische Daten, um die Hotelnachfrage oder Preistrends vorherzusagen.
Das manuelle Scraping dieser Daten ist zeitaufwändig, aber mit Python Web Scraping können Sie den Prozess automatisieren und im Handumdrehen strukturierte Hoteldaten erhalten.
Wichtige Daten zum Extrahieren aus Google Hotels
Beim Scraping von Google Hotels ist es wichtig zu wissen, welche Datenpunkte am wichtigsten sind. Diese Details sind nützlich für die Preisüberwachung, Wettbewerbsanalysen und die Entwicklung von Reisetools.
Das folgende Bild zeigt einige der wertvollsten Felder, die Sie extrahieren können:
Crawlbase Crawling API für Google Hotels Scraping
Das Scraping von Google Hotels kann schwierig sein, da die Website JavaScript zum Laden von Hotellisten und -details verwendet. Herkömmliche Scraping-Methoden erfassen oft nicht den gesamten HTML-Inhalt. Daher Crawlbase Crawling API kommt in.
Crawlbase Crawling API macht das Scraping von Google Hotels einfach, indem es JavaScript-Rendering, rotierende IPs zur Vermeidung von Blockierungen, schnelle und zuverlässige Datenextraktion und benutzerdefinierte Anfrageoptionen zur Nachahmung echter Benutzer handhabt.
Crawlbase Python-Bibliothek
Um es noch einfacher zu machen, bietet Crawlbase eine Python-Bibliothek mit dem interagieren Crawling API. Alles, was Sie brauchen, ist ein Crawlbase-Zugriffstoken, das Sie nach der Anmeldung erhalten (wir bieten 1,000 kostenlose Anfragen ohne Kreditkarte an).
Hier ist ein einfaches Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
von Crawlbase importieren CrawlingAPI
# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken crawling_api = CrawlingAPI({ 'Zeichen': 'IHR_CRAWLBASE_TOKEN' })
if Antwort['Kopfzeilen']['pc_status'] == '200': html_content = Antwort['Körper'].dekodieren('utf-8') Rückkehr HTML-Inhalt sonst: drucken(f"Seite konnte nicht abgerufen werden. Statuscode: {Antwort['Kopfzeilen']['pc_status']}") RückkehrNon
Mit dieser Einrichtung können Sie mit der Extraktion von Hoteleinträgen und -details aus Google Hotels beginnen. Im nächsten Abschnitt richten wir die Python-Umgebung für das Scraping ein.
Einrichten Ihrer Python-Umgebung
Bevor Sie Google Hotels scrapen, müssen Sie Ihre Python-Umgebung vorbereiten. Dazu gehört die Installation von Python selbst und einiger wichtiger Bibliotheken zum Senden von Anfragen und Extrahieren von Daten.
🐍 Python installieren
Wenn Sie Python noch nicht installiert haben, laden Sie die neueste Version von der offizielle Python-Website. Achten Sie bei der Installation darauf, das Kontrollkästchen „Python zu PATH hinzufügen„ – damit können Sie Python von der Befehlszeile aus ausführen.
Um zu überprüfen, ob Python installiert ist, führen Sie Folgendes in Ihrem Terminal oder Ihrer Eingabeaufforderung aus:
1
Python --Version
Sie sollten die installierte Versionsnummer sehen.
✅ Installieren Sie die erforderlichen Bibliotheken
Zum Scrapen von Google Hotels verwenden wir:
carwlbase – Um HTTP-Anfragen zu senden, verwenden Sie Crawlbase Crawling API.
beautifulsoup4 – zum Analysieren und Extrahieren von Inhalten aus HTML.
Oder erstellen Sie sie einfach manuell in Ihrem bevorzugten Code-Editor.
🔑 Holen Sie sich Ihr Crawlbase-Token
Falls Sie es noch nicht getan haben, melden Sie sich an unter Crawlbase und erhalten Sie Ihr API-Token. Sie benötigen dieses Token zur Authentifizierung Ihrer Scraping-Anfragen.
1 2 3 4
von Crawlbase importieren CrawlingAPI
# Ersetzen Sie CRAWLBSE_JS_TOKEN durch Ihr tatsächliches Token. crawling_api = CrawlingAPI({ 'Zeichen': 'CRAWLBASE_JS_TOKEN' })
Hinweis: Crawlbase bietet zwei Arten von Token an: einen normalen Token für statische Websites und einen JS-Token für JS-gerenderte Websites. Für das Scraping von Google Hotels benötigen wir einen JS-Token. Siehe die Dokumentation für mehr.
Damit ist Ihre Einrichtung abgeschlossen. Als Nächstes überprüfen wir die HTML-Struktur von Google Hotels und beginnen mit der Erstellung des Scrapers.
Scraping der Google Hotels-Suchergebnisse
In diesem Abschnitt werden wir Hotellisten von Google Hotels mit Python, BeautifulSoup und der Crawlbase scrapen. Crawling API. Sie erfahren, wie Sie Hoteldetails extrahieren, die Paginierung handhaben und Daten in einer JSON-Datei speichern.
🧩 Überprüfen des HTML auf Selektoren
Zuerst öffnen Google Hotels Suchen Sie in Ihrem Browser nach einem Ort (z. B. „New York“) und überprüfen Sie die Seite.
Hier sind einige wichtige CSS-Klassen, die in den Hotellisten verwendet werden:
Hotelkarte:div.BcKagd
Hotelname: h2.BgYkof
Preis: span.qQOQpe.prxS3d
Rating: span.KFi5wf.lA0BZ
Wir werden diese Selektoren in unserem Scraper verwenden.
🧪 Schreiben des Hotels Listings Scraper
Schreiben wir nun eine Funktion zum Extrahieren von Hoteldaten mit Crawlbase und BeautifulSoup.
Hotels = Suppe.find_all("div", Klasse_="BcKagd") für Hotels in Hotels: Name = Hotel.find("h2", Klasse_="BgYkof") Preis = Hotel.find("Spanne", Klasse_=„qQOQpe prxS3d“) Bewertung = Hotel.find("Spanne", Klasse_=„KFi5wf lA0BZ“) Link = Hotel.Finden("ein", Klasse_="PVOOXe")
hotel_data.append({ "Name": Name.Text if Name sonst"N / A", "Preis": Preis.Text if Preis sonst"N / A", "Bewertung": Bewertungstext if Wertung sonst"N / A", "Verknüpfung": "https://www.google.com" + Link["href"] if Link sonst"N / A" })
Rückkehr hotel_data
🔁 Handhabung der Paginierung
Google Hotels lädt mehr Ergebnisse über mehrere Seiten hinweg. Mit der Crawlbase Crawling APIkönnen wir Tastenklicks simulieren mit dem css_click_selector Parameter. Wir können auch den ajax_wait Parameter, um sicherzustellen, dass der Inhalt nach dem Klick vollständig geladen wird. Dadurch wird sichergestellt, Crawling API Gibt das vollständige HTML der nächsten Seite zurück, nachdem auf die Schaltfläche geklickt und der Inhalt gerendert wurde.
Lassen Sie uns unsere aktualisieren make_crawlbase_request Funktion zum Einschließen dieser Parameter und Hinzufügen einer Ausnahmebehandlung für eine bessere Zuverlässigkeit:
if Seitenanzahl == 0: # Für die 1. Seite html = make_crawlbase_request(URL) sonst: # Für die nächsten Seiten html = make_crawlbase_request(URL, 'button[jsname="OCpkoe"]')
[ { "Name":"31 Street Broadway Hotel", "Preis":"$ 59", "Bewertung":"2.5", "Verknüpfung":"https://www.google.com/travel/search?q=New%20York&qs=MihDaG9JeFBLSXpvWDR6SWZMQVJvTkwyY3ZNVEZ3ZDJnMU4yYzFOUkFCOAA¤cy=USD&ved=2ahUKEwiY1rucg9CMAxUIAPkAHXyaE5EQyvcEegQIAxA-&ap=KigKEgm4tF8JXhxEQBF5jsg3iI5SwBISCfZ7hYTLm0RAEXmOyLfKcVLA&ts=CAESCgoCCAMKAggDEAAaXAo-EjwKCS9tLzAyXzI4NjIlMHg4OWMyNGZhNWQzM2YwODNiOjB4YzgwYjhmMDZlMTc3ZmU2MjoITmV3IFlvcmsSGhIUCgcI6Q8QBBgQEgcI6Q8QBBgRGAEyAhAAKgcKBToDVVNE" }, { "Name":"Das One Boutique Hotel", "Preis":"$ 90", "Bewertung":"3.3", "Verknüpfung":"https://www.google.com/travel/search?q=New%20York&qs=MidDaGtJZ0t6dDBjdkZ6dG1jQVJvTUwyY3ZNWEUxWW14eWF6a3pFQUU4AA¤cy=USD&ved=2ahUKEwiY1rucg9CMAxUIAPkAHXyaE5EQyvcEegQIAxBV&ap=KigKEgm4tF8JXhxEQBF5jsg3iI5SwBISCfZ7hYTLm0RAEXmOyLfKcVLA&ts=CAESCgoCCAMKAggDEAAaXAo-EjwKCS9tLzAyXzI4NjIlMHg4OWMyNGZhNWQzM2YwODNiOjB4YzgwYjhmMDZlMTc3ZmU2MjoITmV3IFlvcmsSGhIUCgcI6Q8QBBgQEgcI6Q8QBBgRGAEyAhAAKgcKBToDVVNE" }, { "Name":"Ly New York Hotel", "Preis":"$ 153", "Bewertung":"4.4", "Verknüpfung":"https://www.google.com/travel/search?q=New%20York&qs=MihDaG9JbU9UeXpldUN6cnlrQVJvTkwyY3ZNVEYyY0d3MGJuSXpZaEFCOAA¤cy=USD&ved=2ahUKEwiY1rucg9CMAxUIAPkAHXyaE5EQyvcEegQIAxBu&ap=KigKEgm4tF8JXhxEQBF5jsg3iI5SwBISCfZ7hYTLm0RAEXmOyLfKcVLA&ts=CAESCgoCCAMKAggDEAAaXAo-EjwKCS9tLzAyXzI4NjIlMHg4OWMyNGZhNWQzM2YwODNiOjB4YzgwYjhmMDZlMTc3ZmU2MjoITmV3IFlvcmsSGhIUCgcI6Q8QBBgQEgcI6Q8QBBgRGAEyAhAAKgcKBToDVVNE" }, { "Name":"King Hotel Brooklyn Sunset Park", "Preis":"$ 75", "Bewertung":"3.4", "Verknüpfung":"https://www.google.com/travel/search?q=New%20York&qs=MihDaG9JbllMLW1iTG5uLTNDQVJvTkwyY3ZNVEZ5ZDNKNWQyUXdiQkFCOAA¤cy=USD&ved=2ahUKEwiY1rucg9CMAxUIAPkAHXyaE5EQyvcEegUIAxCJAQ&ap=KigKEgm4tF8JXhxEQBF5jsg3iI5SwBISCfZ7hYTLm0RAEXmOyLfKcVLA&ts=CAESCgoCCAMKAggDEAAaXAo-EjwKCS9tLzAyXzI4NjIlMHg4OWMyNGZhNWQzM2YwODNiOjB4YzgwYjhmMDZlMTc3ZmU2MjoITmV3IFlvcmsSGhIUCgcI6Q8QBBgQEgcI6Q8QBBgRGAEyAhAAKgcKBToDVVNE" }, { "Name":"Ein Mann in New York", "Preis":"$ 2,200", "Bewertung":"4.4", "Verknüpfung":"https://www.google.com/travel/search?q=New%20York&qs=MidDaGtJc3Q3dF80YmhzWW9ZR2cwdlp5OHhNV1kyTW1Sd2VIbHNFQUU4AA¤cy=USD&ved=2ahUKEwiY1rucg9CMAxUIAPkAHXyaE5EQyvcEegUIAxCiAQ&ap=KigKEgm4tF8JXhxEQBF5jsg3iI5SwBISCfZ7hYTLm0RAEXmOyLfKcVLA&ts=CAESCgoCCAMKAggDEAAaXAo-EjwKCS9tLzAyXzI4NjIlMHg4OWMyNGZhNWQzM2YwODNiOjB4YzgwYjhmMDZlMTc3ZmU2MjoITmV3IFlvcmsSGhIUCgcI6Q8QBBgQEgcI6Q8QBBgRGAEyAhAAKgcKBToDVVNE" }, .... mehr ]
Nachdem wir nun die Hoteleinträge aus den Suchergebnissen extrahiert haben, besteht der nächste Schritt darin, Details aus den einzelnen Hotelseiten zu extrahieren.
Extrahieren individueller Hoteldetails
Sobald wir eine Liste mit Hotellinks aus den Suchergebnissen haben, können wir die jeweilige Hotelseite besuchen, um weitere Informationen wie die vollständige Adresse, Telefonnummer und zusätzliche Hotelmerkmale abzurufen. Dies verschafft uns ein tieferes Verständnis der Unterkunft und ist nützlich für Wettbewerbsanalysen, Preisverfolgung oder die Entwicklung von Reise-Apps.
🔍 Überprüfen des HTML-Codes auf Hoteldetails
Öffnen Sie einen Hotellink in Ihrem Browser und verwenden Sie das Prüftool Ihres Browsers, um Selektoren für wichtige Felder zu finden:
Hotelname: Gefunden in einem <h1> Tag mit Klasse FNkAEc.
Preis: Befindet sich in einem <span> Tag mit Klassen qQOQpe prxS3d.
Bewertung: Auszug aus einer <span> mit Klassen KFi5wf lA0BZ.
Anzahl der Bewertungen: Gefunden in einem <span> mit Klassen jdzyld XLC8M, neben der Bewertung.
Hoteltyp: Gefunden in einem <span> mit Klasse CFH2De.
Adresse und Kontakt: Befindet sich in einem div mit Klasse K4nuhf, woher:
spans[0] gibt die Adresse
spans[2] gibt die Kontaktinformationen
Hinweis: Diese Selektoren können sich je nach Standort und Layout ändern. Überprüfen Sie sie vor dem Scraping immer in Ihrem eigenen Browser.
🧰 Schreiben des Details Scrapers
Erstellen wir mithilfe der identifizierten CSS-Selektoren einen Google Hotel Details Scraper mit BeautifulSoup.
[ { "Name": "31 Street Broadway Hotel", "Preis": "$ 59", "Bewertung": "3.8", "Anzahl_der_Bewertungen": " (461)", "Hoteltyp": "2-Sterne-Hotel", "Adresse": „38 W 31st St #110, New York, NY 10001“, "Kontakt": "(516) 770-8751", "Verknüpfung": "https://www.google.com/travel/search?q=New%20York&qs=MihDaG9JeFBLSXpvWDR6SWZMQVJvTkwyY3ZNVEZ3ZDJnMU4yYzFOUkFCOAA¤cy=USD&ved=2ahUKEwiY1rucg9CMAxUIAPkAHXyaE5EQyvcEegQIAxA-&ap=KigKEgm4tF8JXhxEQBF5jsg3iI5SwBISCfZ7hYTLm0RAEXmOyLfKcVLA&ts=CAESCgoCCAMKAggDEAAaXAo-EjwKCS9tLzAyXzI4NjIlMHg4OWMyNGZhNWQzM2YwODNiOjB4YzgwYjhmMDZlMTc3ZmU2MjoITmV3IFlvcmsSGhIUCgcI6Q8QBBgQEgcI6Q8QBBgRGAEyAhAAKgcKBToDVVNE" }, { "Name": "Das One Boutique Hotel", "Preis": "$ 90", "Bewertung": "4.5", "Anzahl_der_Bewertungen": " (1.2 KB)", "Hoteltyp": "3-Sterne-Hotel", "Adresse": „137-72 Northern Blvd, Flushing, NY 11354“, "Kontakt": "(718) 886-3555", "Verknüpfung": "https://www.google.com/travel/search?q=New%20York&qs=MidDaGtJZ0t6dDBjdkZ6dG1jQVJvTUwyY3ZNWEUxWW14eWF6a3pFQUU4AA¤cy=USD&ved=2ahUKEwiY1rucg9CMAxUIAPkAHXyaE5EQyvcEegQIAxBV&ap=KigKEgm4tF8JXhxEQBF5jsg3iI5SwBISCfZ7hYTLm0RAEXmOyLfKcVLA&ts=CAESCgoCCAMKAggDEAAaXAo-EjwKCS9tLzAyXzI4NjIlMHg4OWMyNGZhNWQzM2YwODNiOjB4YzgwYjhmMDZlMTc3ZmU2MjoITmV3IFlvcmsSGhIUCgcI6Q8QBBgQEgcI6Q8QBBgRGAEyAhAAKgcKBToDVVNE" } ]
Abschließende Überlegungen
Durch das Scraping von Google Hotels sammeln Sie wertvolle Daten wie Hotelnamen, Preise, Bewertungen, Bewertungen, Adressen und Kontaktinformationen. Diese Daten sind wertvoll für die Reiserecherche, den Aufbau von Hotelvergleichstools oder die Beobachtung von Markttrends.
Verwendung der Crawlbase Crawling API Erleichtert das Scrapen dynamischer Inhalte und vermeidet Blockaden oder CAPTCHAs. In Kombination mit BeautifulSoup zum Parsen und JSON zum Speichern von Daten können Sie einen einfachen, aber leistungsstarken Scraper in Python erstellen.
Befolgen Sie beim Scraping von Hoteldaten stets die ethischen und rechtlichen Best Practices, um die Sicherheit und Konformität Ihrer Projekte zu gewährleisten.
Möchten Sie weitere Plattformen scrapen? Schauen Sie sich unsere anderen Scraping-Anleitungen an:
Wenn Sie Fragen oder Ideen haben oder Hilfe benötigen, ist unser Team für Sie da. Vielen Dank fürs Lesen und viel Spaß beim Scrappen!
Häufig gestellte Fragen
F: Ist es legal, Google Hotels-Daten zu scrapen?
Das Scraping öffentlicher Daten von Websites wie Google Hotels kann legal sein, sofern es ethisch korrekt und im Rahmen der Nutzungsbedingungen der Website erfolgt. Vermeiden Sie stets das Scraping personenbezogener Daten und halten Sie die lokalen Datenschutzgesetze und Scraping-Vorschriften ein.
F. Warum Crawlbase verwenden? Crawling API zum Scrapen von Google Hotels?
Die Inhalte von Google Hotels werden dynamisch mithilfe von JavaScript geladen, was mit herkömmlichen Tools schwierig zu erfassen sein kann. Die Crawlbase Crawling API lädt vollständiges HTML wie ein echter Browser und verarbeitet JavaScript, Paginierung, CAPTCHAs und IP-Rotation – wodurch Ihr Scraping schneller, einfacher und zuverlässiger wird.
F: Welche Daten kann ich aus Google Hotels extrahieren?
Sie können Hotelname, Preis, Adresse, Bewertung, Anzahl der Bewertungen, Hoteltyp und Kontaktdaten extrahieren. Diese Informationen sind nützlich für Hotelanalysen, Preisüberwachung, Marktforschung und reisebezogene Apps.