Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Основные цели:

Парсинг данных вида: товар (карточка товара):массив синонимов (офферов)

Парсинг полей-характеристик товаров (они же фильтры)

Парсинг структуры категорий и связей товар-категория

Подробное ТЗ в ЛС.

Для каждой площадки свой набор таблиц товаров/категорий/полей и тд

Экстракторы (файловые):

Новые товары в категории: кликаем на категорию - возвращает дамп с новыми товарами для конкретной категории

Требования к стеку:

Laravel + laradock в корне репозитория (postgres clickhouse redis redis-webui laravel-horizon)

Во время парсинга, нужно отлавливать то обстоятельство, когда площадка меняет верстку карточки страницы и категорий и делать алерт в телегу и на почту

Во время ошибок делать алерт в телегу и(или) на почту

Юнит-тесты (хотя бы минимально)

Используем для очередей horizon (в контейнере ларадока)

Использование doctrineORM желательно

Для запросов используется массив проксей, это нужно сразу заложить в код, но при разработке их не использовать

Для парсинга товаров и парсинга категорий используются очереди с разными именами

Для запросов желательно использовать Guzzle

Логирование делаем стандартными средствами laravel

Логирование и другие вспомогательные операции по максимуму желательно выносить во вне классов (в декораторы, пример дам)

Таски для очереди нужно реализовать таким образом чтобы они были независимы от используемого движка очередей (чтобы с минимальными усилиями можно было переехать на другой движок очередей)

2 года назад
PartMars
42 годаПольша
15 лет в сервисе
Был
8 месяцев назад