Простой консольный html парсер написаный на Laravel для сборка товаров из интернет магазинов. Умеет ходить по заданным категориям и собирать данные о товарах (название, описание, артикул, цена, картинка товара).
Все настройки хранятся в файле config/app.php
Для того чтобы парсер успешно собирал данные с сайта, нужно указать ему метки за которые он будет цепляться.
'productLink' => '.x-catalog-gallery a.x-gallery-tile__name' - селектор ссылки товара в категории
'productImage' => '.js-product-images__main_image' - селектор картинки на странице товара
'productSKU' => '.x-product-info [itemprop=sku]' - селектор артикула на странице товара
'productDescr' => '.x-product-page__section [itemprop=description]' - селектор описания на странице товара
'productTitle' => 'h1.x-title' - селектор заголовка на странице товара
'productPrice' => '.x-product-price [itemprop=price]' - селектор цены на странице товара
'nextPageLink' => '[rel=next]', - селектор след. страницы в категории (пагинация)
Полный список селекторов и как их использовать: https://www.quackit.com/css/selectors/
Т.к. парсер консольный, ему нужны команды для запуска и управления.
Все команды запускаются с приставкой php artisan
например php artisan parse
| Команда | Описание |
|---|---|
| parse | Запуск парсера |
| category:add | Добавление url категории для парсинга |
| category:list | Список добавленых категорий |
| category:delete | Удаление категории по id (чтобы узнать id используйте команду category:list) |
| category:clear | Удаляет все ранее добавленые категории из бд |
| product:list | Список уже спарсеных товаров |
| product:delete | Удаление товра по id (чтобы узнать id используйте команду product:list) |
| product:clear | Удаляет все спарсеные товары из бд |
| product:update | Обновляет все товары в базе (репарсинг) |
| db-migrate | Добавляет все необходимые таблицы в базу |