Erfahren Sie, wie Sie Hoteldaten in Echtzeit aus Google scrapen – einem der größten Aggregatoren für Reisedaten. Wir behandeln zwei Methoden:
- Kostenloser Scraper: Ideal für Anforderungen in kleinem Maßstab.
- Bright Data Google Hotels API: Eine Enterprise-Lösung zum Sammeln öffentlicher Google Hotels-Daten im großen Maßstab mit einem einzigen API-Aufruf (Teil der SERP Scraping API).
- Free Scraper
- Bright Data Google Hotels API
- Advanced Features
- Alternative Solutions
- Support & Resources
Ein schneller und einfacher Scraper zum Extrahieren von Google Hotels-Daten in kleinerem Maßstab.
Anforderungen:
- Python 3.9+
- Selenium für Browser-Automatisierung
- BeautifulSoup zum Parsen von HTML
- Weitere Hilfsbibliotheken wie
pandas,tqdm,webdriver-manager
Installation:
pip install pandas tqdm selenium beautifulsoup4 webdriver-managerHinweis: Wenn Sie neu im Web-Scraping sind, empfehlen wir Ihnen, mit unserem Python web scraping for beginners tutorial oder unserem Guide to Web Scraping With Selenium zu beginnen.
Führen Sie das Skript google-hotels-scraper.py mit den erforderlichen Parametern aus:
python3 google-hotels-scraper.py --location "Dubai" --max_hotels 200Parameter:
location– der Zielort für Hoteldatenmax_hotels– die Anzahl der zu scrapenden Hotels
💡 Profi-Tipp: Kommentieren Sie die Zeile options.add_argument("--headless=new") im Skript aus, um die Erkennung durch Googles Anti-Scraping-Systeme zu reduzieren.
Der Free Scraper hat mehrere Einschränkungen:
- Hohes Risiko von IP-Sperren
- Begrenztes Anfragevolumen
- Häufige CAPTCHAs
- Unzuverlässig für Scraping im großen Maßstab
Ziehen Sie für größere und zuverlässigere Datenerfassung die dedizierte Lösung von Bright Data unten in Betracht 👇
Die Google Hotels API von Bright Data ist Teil der SERP Scraping API und nutzt unser fortschrittliches Proxy-Netzwerk. Sie hilft Ihnen dabei, öffentliche Google Hotels-Daten im großen Maßstab zu erfassen – ohne sich um CAPTCHA oder IP-Sperren kümmern zu müssen.
- Globale Standortgenauigkeit: Passen Sie Ergebnisse an spezifische Standorte an
- Pay-Per-Success-Modell: Sie zahlen nur für erfolgreiche Anfragen
- Echtzeitdaten: Erhalten Sie aktuelle Hotelinformationen in Sekunden
- Skalierbarkeit: Verarbeiten Sie unbegrenzte Anfragen ohne Volumenbeschränkungen
- Kosteneffizienz: Sparen Sie Infrastruktur- und Wartungskosten
- Hohe Zuverlässigkeit: Konstante Performance mit integrierten Anti-Blocking-Maßnahmen
- 24/7 Support: Expertenhilfe, wann immer Sie sie benötigen
- Erstellen Sie ein Bright Data account (neue Nutzer erhalten $5 Guthaben)
- Generieren Sie Ihren API key
- Folgen Sie unserer step-by-step guide, um die SERP API und die Zugangsdaten zu konfigurieren
- Um die Google Hotels API zu verwenden, benötigen Sie die entity ID des Hotels, das Sie abfragen möchten. Sie finden diese wie folgt:
- Suchen Sie in Google nach dem Hotelnamen
- Klicken Sie mit der rechten Maustaste und wählen Sie „View page source“
- Suchen Sie auf der Seite nach „/entity“, um die entity ID zu finden
Stellen Sie eine direkte Anfrage an den API-Endpunkt.
cURL Example:
curl https://api.brightdata.com/request \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_TOKEN" \
-d '{
"zone": "ZONE_NAME",
"url": "https://www.google.com/travel/hotels/entity/CgoIyNaqqL33x5ovEAE/prices?brd_json=1",
"format": "raw"
}'Python Example:
import requests
import json
url = "https://api.brightdata.com/request"
headers = {"Content-Type": "application/json", "Authorization": "Bearer API_TOKEN"}
payload = {
"zone": "ZONE_NAME",
"url": "https://www.google.com/travel/hotels/entity/CgoIyNaqqL33x5ovEAE/prices?brd_json=1",
"format": "raw",
}
response = requests.post(url, headers=headers, json=payload)
with open("serp-direct-api.json", "w") as file:
json.dump(response.json(), file, indent=4)
print("Response saved to 'serp-direct-api.json'.")👉 Sehen Sie die vollständige JSON-Ausgabe.
Hinweis: Verwenden Sie brd_json=1 für geparstes JSON oder brd_json=html für geparstes JSON + vollständiges verschachteltes HTML.
Sie können auch die Proxy-Routing-Methode von Bright Data verwenden:
cURL Example:
curl -i \
--proxy brd.superproxy.io:33335 \
--proxy-user "brd-customer-<customer-id>-zone-<zone-name>:<zone-password>" \
-k \
"https://www.google.com/travel/hotels/entity/CgoIyNaqqL33x5ovEAE/prices?brd_json=html"Python Example:
import requests
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
host = "brd.superproxy.io"
port = 33335
username = "brd-customer-<customer-id>-zone-<zone-name>"
password = "<zone-password>"
proxy_url = f"http://{username}:{password}@{host}:{port}"
proxies = {"http": proxy_url, "https": proxy_url}
url = "https://www.google.com/travel/hotels/entity/CgoIyNaqqL33x5ovEAE/prices?brd_json=html"
response = requests.get(url, proxies=proxies, verify=False)
with open("serp-native-proxy.html", "w", encoding="utf-8") as file:
file.write(response.text)
print("Response saved to 'serp-native-proxy.html'.")👉 Sehen Sie die vollständige JSON-Ausgabe.
Hinweis: Laden Sie für Produktionsumgebungen das SSL-Zertifikat von Bright Data wie im SSL Certificate Guide beschrieben.
Die API von Bright Data unterstützt viele erweiterte Parameter zur Feinabstimmung Ihrer Google Hotels-Datenextraktion. Unten finden Sie Beispiele mit Native Proxy-Based Access, Sie können diese jedoch auch über Direct API Access anwenden.
Diese Parameter definieren das Land und die Sprache der Suche:
| Parameter | Description | Example |
|---|---|---|
| gl | Zweibuchstabiger Ländercode | gl=us (United States) |
| hl | Zweibuchstabiger Sprachcode | hl=en (English) |
Example: Suchen Sie nach Hotels in den Vereinigten Staaten mit Ergebnissen auf Englisch:
curl --proxy brd.superproxy.io:33335 --proxy-user brd-customer-<customer-id>-zone-<zone-name>:<zone-password> \
"https://www.google.com/travel/hotels/entity/CgoI4NzJmsPmkpU6EAE/prices?gl=us&hl=en"Diese Parameter helfen dabei, Ergebnisse basierend auf Daten, Anzahl der Gäste, kostenloser Stornierung und Unterkunftsart zu verfeinern:
| Parameter | Description | Format | Example |
|---|---|---|---|
| brd_dates | Check-in- und Check-out-Daten | YYYY-MM-DD,YYYY-MM-DD | brd_dates=2025-08-15,2025-08-20 |
| brd_occupancy | Anzahl der Gäste (Erwachsene + Kinder) | <adults>,<child1_age>,<child2_age> |
brd_occupancy=3,6,9 (3 Erwachsene, 2 Kinder im Alter von 6 & 9) |
| brd_free_cancellation | Nur erstattungsfähige Buchungen anzeigen | true or false | brd_free_cancellation=true |
| brd_accomodation_type | Art des Aufenthalts | hotels or vacation_rentals | brd_accomodation_type=vacation_rentals |
| brd_currency | Währung zur Anzeige der Preise | 3-letter currency code | brd_currency=GBP (British Pounds) |
Example: Suchen Sie nach einem Hotelaufenthalt mit spezifischen Parametern:
curl --proxy brd.superproxy.io:33335 \
--proxy-user brd-customer-<customer-id>-zone-<zone-name>:<zone-password> \
"https://www.google.com/travel/hotels/entity/CgoIyNaqqL33x5ovEAE/prices\
?brd_dates=2025-04-15,2025-04-20\
&brd_occupancy=3,6,9\
&brd_free_cancellation=true\
&brd_currency=GBP"Standardmäßig imitieren Anfragen einen Desktop-User-Agent, aber Sie können dies auf Mobile ändern:
| Parameter | Description |
|---|---|
brd_mobile=0 |
Zufälliger Desktop-User-Agent (Standard) |
brd_mobile=1 |
Zufälliger Mobile-User-Agent |
brd_mobile=ios |
iPhone-User-Agent |
brd_mobile=android |
Android-Phone-User-Agent |
brd_mobile=ipad |
iPad-User-Agent |
brd_mobile=android_tablet |
Android-Tablet-User-Agent |
Example: Rufen Sie Hoteldaten mit einem Android-Phone-User-Agent ab:
curl --proxy brd.superproxy.io:33335 --proxy-user brd-customer-<customer-id>-zone-<zone-name>:<zone-password> \
"https://www.google.com/travel/hotels/entity/CgoIyNaqqL33x5ovEAE/prices?brd_mobile=android"Standardmäßig sind Antworten in HTML, aber Sie können eine JSON-Antwort anfordern:
| Parameter | Description |
|---|---|
brd_json=1 |
Gibt eine JSON-Antwort statt HTML zurück |
brd_json=html |
JSON + vollständiges verschachteltes HTML |
Example: Rufen Sie Hotelpreisdaten im JSON-Format ab:
curl --proxy brd.superproxy.io:33335 --proxy-user brd-customer-<customer-id>-zone-<zone-name>:<zone-password> \
"https://www.google.com/travel/hotels/entity/CgoIyNaqqL33x5ovEAE/prices?brd_json=1"Über die Web Scraper APIs hinaus bietet Bright Data auch sofort einsatzbereite datasets, die auf die Anforderungen der Reisebranche zugeschnitten sind:
- Hotel Datasets
- Airbnb Dataset
- Expedia Datasets
- Tourism Datasets
- Booking.com Datasets
- TripAdvisor Datasets
- Dokumentation: SERP API Docs
- Verwandte Guides entdecken:
- Hilfreiche Artikel:
- Use Cases:
- Kontakt: Benötigen Sie Hilfe? Senden Sie uns eine E-Mail an support@brightdata.com




