Booking SERP
Analysez une page de résultats de recherche Booking.com en JSON structuré avec les établissements trouvés, le nom, l'URL, l'adresse, la distance, le prix, le score des avis, le nombre d'avis, le classement en étoiles et l'image de chaque établissement.
Utilisation de l'API
Ajoutez &scraper=booking-serp à une requête Crawling API. Encodez en URL l'URL cible dans le paramètre url.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://www.booking.com/searchresults.html?ss=Amsterdam' \
--data-urlencode 'scraper=booking-serp' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.booking.com/searchresults.html?ss=Amsterdam',
{'scraper': 'booking-serp'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://www.booking.com/searchresults.html?ss=Amsterdam',
{ scraper: 'booking-serp' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.booking.com/searchresults.html?ss=Amsterdam', scraper: 'booking-serp')
data = JSON.parse(res.body)Exemple d'URL en entrée
L'URL passée dans le paramètre url (décodée pour plus de lisibilité) :
https://www.booking.com/searchresults.html?ss=AmsterdamStructure de la réponse
Corps de la réponse JSON. Les types de champs peuvent être null lorsque la page source omet la valeur.
URL canonique des résultats de recherche.
Destination pour laquelle la recherche a été effectuée.
Nombre d'établissements renvoyés dans
properties.Établissements correspondant à la recherche, dans l'ordre renvoyé par Booking.com.
Nom de l'établissement.
URL canonique Booking.com de l'établissement.
Adresse de l'établissement.
Distance par rapport au centre de la destination, lorsque présente.
Texte de prix formaté tel qu'affiché sur l'annonce.
Valeur numérique du prix, ou null lorsqu'elle ne peut pas être analysée.
Code de devise du prix, lorsque présent.
Score moyen des avis, ou null lorsqu'il n'y a aucun avis.
Nombre d'avis, ou null lorsqu'il n'y a aucun avis.
Classement en étoiles de l'établissement, ou null lorsqu'il n'est pas classé.
URL de l'image miniature, lorsqu'elle est présente.
Exemple de réponse
{
"searchUrl": "https://www.booking.com/searchresults.html?ss=Amsterdam",
"destination": "Amsterdam",
"propertyCount": 2,
"properties": [
{
"name": "Canal House Amsterdam",
"url": "https://www.booking.com/hotel/nl/canal-house-amsterdam.html",
"address": "Keizersgracht 148, Amsterdam City Center, 1015 CX Amsterdam",
"distance": "0.8 km from centre",
"price": "€ 245",
"priceAmount": 245,
"currency": "EUR",
"reviewScore": 9.1,
"reviewCount": 1284,
"rating": 4,
"image": "https://cf.bstatic.com/xdata/images/hotel/canal-house.jpg"
},
{
"name": "Jordaan Boutique Stay",
"url": "https://www.booking.com/hotel/nl/jordaan-boutique-stay.html",
"address": "Prinsengracht 302, Jordaan, 1016 HX Amsterdam",
"distance": "1.2 km from centre",
"price": "€ 189",
"priceAmount": 189,
"currency": "EUR",
"reviewScore": 8.7,
"reviewCount": 642,
"rating": 3,
"image": null
}
]
}