Послуги

  • Сайти
  • Контент
  • Просування
  • Бітрікс24
  • Додатки
Усі послуги Оплата
Бітрікс24
Усі послуги Оплата

Пошук

  • Разработка интернет-магазина под ключ
  • Разработка сайтов
  • Разработка леднигов
  • Разработка на битрикс24
  • Разработка на Вордпресс

Кейс: Парсинг Booking.com у реальному часі на туристичному сайті

Іноді виникають завдання, коли нам необхідно отримати у значних обсягах дані зі сторінок сайту. І майже завжди при цьому хочеться, щоб цей процес був максимально автоматизованим і дані можна було б без проблем перенести, наприклад, на інший сайт. У цьому випадку нам потрібно написати PHP-парсер – специфічну програму для отримання або збирання будь-якої відкритої інформації з веб-сайтів.

З подібним замовленням до нас звернулися представники однієї туристичної фірми. Їй потрібно отримати дані з найбільшого туристичного агрегатора – парсить сайт booking.com в реальному часі.

Провівши аналіз поставленого завдання, наша команда фахівців розпочала розробку.

Парсер на PHP крок за кроком

Технології

Скласти правильний запит та обробити дані нам допомогла бібліотека cURL. Ця бібліотека є більш просунутою альтернативою функції PHP –file_get_contents. На відміну від неї, cURL дозволяє працювати з куками, із заголовками, дозволяє відправляти форми та переходити по редиректах.

Своєрідною особливістю парсингу веб-сайтів є те, що робота відбувається з вихідним HTML-кодом сторінки, але не даними (текстом, зображеннями і т.д.), які можна побачити користувачеві на сайті.

Прототипування

Виходячи з цього, більшість нашої роботи зводиться до правильного виділення необхідних нам елементів “атакованого” сайту. Так ми плавно переходимо до прототипуванню – процесу застосування різних концепцій, архітектурних та/або технологічних рішень у розробці парсера.

Тестування

Коли пройдено попередній етап, час тестувати парсер booking.com! Для цього застосовуємо методику тест кейсів – сукупності кроків, конкретних умов та параметрів, необхідних для перевірки працездатності нашого парсера. Подібним чином ми перевіряємо коректність даних і навантаження коду парсера на сайт, що піддається “атаці”, і нашого ресурсу.

Парсим сайт Booking.com

Після реалізації технічної частини щодо парсера, справа залишається за малим – отримати дані із сайту booking.com.

Запускаємо парсер і чекаємо, поки інструмент збере всі необхідні нам дані. У цьому випадку – кімнати та їх наявність у певний період, а також усі варіанти цін на цей період. Після цього ми експортуємо отримані дані до бази даних сайту нашого туристичного сервісу та насолоджуємось отриманим результатом.

Подивіться скріншоти та порівняйте – ціни на сайті нашого клієнта збігаються з booking.com. І по-іншому бути не може, адже в момент пошуку скрипт на нашому сайті робить парсит потрібні готелі на Букінгу і отримує звідти всі ціни на доступні номери!

01

/ 03

Що зрештою?

Парсер за лічені хвилини обійде тисячі сторінок ресурсу. Він акуратно і безпомилково відбере потрібне і відкине зайве, ефективно запакувавши кінцеві дані в необхідному вигляді. Цими даними потім можна розпорядитися так, як завгодно. Наприклад, як було в нашому випадку, експортувавши інформацію про номери готелів світу в єдину базу даних.

Бажаєте обговорити проект?

Залишіть ваш номер телефону і наш менеджер зв'яжеться з вами найближчим часом