Разработка парсера сайтов для контроля остатков и цен

10 000 руб. за проект
11 декабря 2024, 14:24 • 18 откликов • 78 просмотров
Создание системы для мониторинга остатков и цен товаров с сайтов:
Зенон https://zenonline.ru/
Форда https://online.forda.ru/
Папиллонс https://tdppl.ru/
Ремэкс https://www.remex.ru/
Фабрикс https://fabreex.ru/

2. Функциональные требования
Сбор данных:
Парсер должен извлекать информацию о товарах, включая следующие обязательные поля:
Артикул (ключ товара): уникальный идентификатор товара.
Единица измерения товара (например, шт., кг, л и т.д.).
Цена товара.
Наличие (количество на складе)(если доступно).
Валюта цены (если доступно).
Объемно-весовые характеристики товара
В случае отсутствия артикулов или единиц измерения, парсер должен генерировать уведомление об ошибке.
Формат данных:
Собранные данные должны сохраняться в формате JSON.
Структура JSON должна включать:
product_code — артикул товара (ключ);
name — название товара;
price — цена;
stock — количество на складе;
unit — единица измерения;
currency — валюта (если доступна).
Логирование:
Парсер должен вести логирование каждого запуска и ошибок. Уровень логирования должен быть настраиваемым, от базового (ошибки) до детального (все шаги парсинга).
Логи должны сохраняться в файлы с метками времени. Формат логов: log_competitor_YYYY-MM-DD_HH-MM.log.
Логи должны включать:
Время начала и окончания выполнения.
Количество успешно собранных товаров.
Ошибки при сборе данных (например, недоступность сайта или изменения структуры страниц).
Автоматизация:
Парсер должен быть оптимизирован для периодического запуска через Cron.
Логирование времени выполнения каждого запуска с фиксацией ошибок при запуске через Cron.
Обработка ошибок:
В случае отсутствия данных на странице или изменения структуры сайта, парсер должен зафиксировать ошибку и продолжить обработку следующих страниц.
Парсер должен корректно обрабатывать такие ошибки, как:
Недоступность сайта (отсутствие соединения).
HTTP-ошибки (например, 404 или 500).
Изменение структуры страницы.
Производительность:
Парсер должен быть оптимизирован для работы с большими объемами данных (десятки тысяч товаров).
Должна быть реализована проверка и минимизация дублирования данных (например, при повторном запуске парсера).
Валидность данных:
Данные должны проверяться на корректность (например, цена не может быть отрицательной, наличие не может быть отрицательным числом и т.д.).
3. Технические требования
Язык программирования:
Python 3.x
Форматы данных:
Входные данные: веб-страницы HTML.
Выходные данные: JSON (структурированный формат данных).
Среда выполнения:
Парсер должен быть совместим с Linux-системами для интеграции с Cron.
Оптимизация:
Парсер должен поддерживать многопоточную или асинхронную обработку данных для повышения производительности. Если это позволяет сайт конкурента
4. Дополнительная информация
Каждый сайт -отдельное подзадание
Парсер должен сохранять данные - запись CSV или записью в БД (postgres)