Booking Hotel
Разбирайте страницу отеля Booking.com в структурированный JSON с названием, описанием, адресом, координатами, звёздным рейтингом, оценкой отзывов, количеством отзывов, меткой отзыва, изображением и удобствами.
Использование API
Добавьте &scraper=booking-hotel к запросу Crawling API. URL-кодируйте целевой URL в параметре url.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://www.booking.com/hotel/nl/example-amsterdam.html' \
--data-urlencode 'scraper=booking-hotel' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.booking.com/hotel/nl/example-amsterdam.html',
{'scraper': 'booking-hotel'}
)
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/hotel/nl/example-amsterdam.html',
{ scraper: 'booking-hotel' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.booking.com/hotel/nl/example-amsterdam.html', scraper: 'booking-hotel')
data = JSON.parse(res.body)Пример входного URL
URL, передаваемый в параметре url (URL-декодированный для удобства чтения):
https://www.booking.com/hotel/nl/example-amsterdam.htmlСтруктура ответа
Тело ответа в формате JSON. Типы полей могут быть null, если исходная страница не содержит значения.
Название отеля.
Канонический URL отеля в Booking.com.
Полное описание отеля.
Адрес отеля.
Географические координаты отеля.
Широта отеля или null, если недоступна.
Долгота отеля или null, если недоступна.
Звёздный рейтинг отеля или null, если рейтинг отсутствует.
Средняя оценка отзывов или null, если отзывов нет.
Количество отзывов или null, если отзывов нет.
Текстовая метка отзыва (например,
Superb), если присутствует.URL основного изображения, если присутствует.
Названия удобств, предлагаемых отелем.
Пример ответа
{
"name": "Canal House Amsterdam",
"url": "https://www.booking.com/hotel/nl/example-amsterdam.html",
"description": "A restored 17th-century canal house in the heart of Amsterdam, steps from the Jordaan district. Rooms overlook the Keizersgracht with original beamed ceilings and a private garden terrace.",
"address": "Keizersgracht 148, Amsterdam City Center, 1015 CX Amsterdam, Netherlands",
"coordinates": {
"latitude": 52.3738,
"longitude": 4.8846
},
"rating": 4,
"reviewScore": 9.1,
"reviewCount": 1284,
"reviewLabel": "Superb",
"image": "https://cf.bstatic.com/xdata/images/hotel/canal-house.jpg",
"facilities": [
"Free WiFi",
"Non-smoking rooms",
"Garden",
"Bar",
"Family rooms",
"24-hour front desk"
]
}