Как собрать данные об отелях с Booking.com с помощью Python и Selenium
В условиях высокой конкуренции в туристической сфере актуальной задачей становится автоматизация сбора данных об отелях: ценах, рейтингах, условиях размещения и другой информации. В этой статье мы расскажем, как с помощью Python и библиотеки Selenium создать скрипт для сбора информации об отелях с сайта Booking.com.
Для начала убедитесь, что у вас установлены следующие библиотеки:
pip install selenium webdriver-manager
Также потребуется установленный браузер Google Chrome и соответствующий драйвер, который webdriver-manager
подгрузит автоматически.
Скрипт делает следующее:
-
Открывает страницу поиска Booking.com по городу (в нашем случае — Мадрид).
-
Прокручивает страницу вниз, чтобы подгрузились все карточки отелей.
-
Извлекает ключевую информацию по каждому отелю:
-
Название
-
Цена
-
Рейтинг
-
Адрес
-
Расстояние до центра
-
Тип номера
-
Условия отмены
-
URL изображения
-
Ссылка на страницу отеля
-
-
Сохраняет данные в формате JSON.
Скрипт использует headless
-режим браузера, что позволяет запускать его на сервере без отображения интерфейса:
options.add_argument("--headless=new")
Прокрутка страницы
Поскольку Booking.com подгружает данные динамически, важно прокрутить страницу вниз:
def scroll_page():
...
Этот блок имитирует поведение пользователя и помогает подгрузить больше отелей.
Извлечение информации
Информация об отеле извлекается по селекторам:
hotel.find_element(By.CSS_SELECTOR, 'div[data-testid="title"]').text
Каждое поле оборачивается в try/except
, чтобы избежать сбоев при отсутствии данных.
Пример результата
После выполнения скрипта будет создан файл booking_hotels.json
, содержащий примерно такую структуру:
{
"name": "Hotel Madrid",
"price": "₽9 500",
"rating": "8.4",
"address": "Центр города, Мадрид",
"distance": "500 м от центра",
"room_type": "Двухместный номер",
"cancellation": "Бесплатная отмена",
"image_url": "https://...",
"hotel_url": "https://www.booking.com/..."
}
Использование Selenium для парсинга сайтов, таких как Booking.com, — мощный инструмент для сбора рыночной информации, анализа цен и автоматизации бизнес-задач. Но важно помнить, что такие сайты могут иметь защиту от ботов, и при большом объёме запросов рекомендуется действовать аккуратно и уважительно по отношению к правилам использования ресурса.
📁 Скачать пример скрипта на GitHub
Автор: Евгений Морковин
0 комментариев