crawlbaseДокументация
Войти

Использование API

Добавьте &scraper=booking-serp к запросу Crawling API. URL-кодируйте целевой URL в параметре 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' -G
from 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)

Пример входного URL

URL, передаваемый в параметре url (URL-декодированный для удобства чтения):

https://www.booking.com/searchresults.html?ss=Amsterdam

Структура ответа

Тело ответа в формате JSON. Типы полей могут быть null, если исходная страница не содержит значения.

searchUrl
string
Канонический URL результатов поиска.
destination
string
Направление, по которому выполнялся поиск.
propertyCount
integer
Количество объектов, возвращённых в properties.
properties
array
Объекты, соответствующие поиску, в порядке, возвращённом Booking.com.
properties[].name
string
Название объекта.
properties[].url
string
Канонический URL объекта в Booking.com.
properties[].address
string
Адрес объекта.
properties[].distance
string | null
Расстояние от центра направления, если присутствует.
properties[].price
string
Форматированный текст цены, как показано в объявлении.
properties[].priceAmount
number | null
Числовое значение цены или null, если его не удаётся разобрать.
properties[].currency
string | null
Код валюты цены, если присутствует.
properties[].reviewScore
number | null
Средняя оценка отзывов или null, если отзывов нет.
properties[].reviewCount
integer | null
Количество отзывов или null, если отзывов нет.
properties[].rating
integer | null
Звёздный рейтинг объекта или null, если рейтинг отсутствует.
properties[].image
string | null
URL миниатюры, если присутствует.

Пример ответа

{
  "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
    }
  ]
}