CoderCastrov logo
CoderCastrov
Laravel

Как создать парсер Booking.com с использованием Goutte и Laravel

Как создать парсер Booking.com с использованием Goutte и Laravel
просмотров
1 мин чтение
#Laravel

В этой статье я покажу вам, как использовать laravel и goutte для создания API, позволяющего получать информацию о свойствах booking.com с помощью URL.

1 - Создание проекта и установка зависимостейcomposer create-project laravel/laravel scrappercomposer require fabpot/goutte


2 - Создание модели с миграциейphp artisan make:model BookingData --migration


3 - Создание сервисов и репозиториев

На этом шаге мы создадим две папки с названиями Services и Repositories в папке app.

3.1 Репозитории

В папке Repositories создайте файл с названием Repository.php.

Создайте подпапку ScrapperRepository и в ней создайте два файла ScrapperRepository.php и ScrapperRepositoryInterface.php.

3.2 Сервисы

Создайте подпапку ScrapperService и в ней создайте два файла ScrapperService.php и ScrapperServiceInterface.php.


4 - Контроллер

Запустите следующую команду, чтобы создать контроллер, и добавьте следующий код.

php artisan make:controller API/ScrapperController


5 - Маршрут

Теперь в файле routes/api.php нам нужно создать маршрут для доступа к методу контроллера.


6 - Тестирование

Для тестирования нашего парсера мы будем использовать Postman.

Подсказка: не забудьте запустить php artisan serve

6.1 Booking.com

Откройте Booking.com и выберите любое свойство, нажмите на значок "Поделиться" и скопируйте ссылку.

6.2 Postman

Откройте Postman и создайте новый метод GET с URL http://localhost:8000/api/booking.Наши исходные данные - это только url свойства.

При нажатии кнопки "Отправить" будет получен массив с данными о свойстве.

Вы можете получить доступ к репозиторию проекта.

GitHub - RenaatoSiilva/booking-dot-com-scraper

Laravel - это веб-фреймворк для создания приложений с элегантным и выразительным синтаксисом. Мы считаем, что разработка должна приносить удовольствие и...

github.com

Надеюсь, этот учебник будет полезен кому-то. :)