Министерство строительства Оренбургской области
800 000
Строительство и ремонт
Россия, Оренбург
Порталы и сервисы
Декабрь 2022
Разработка эффективного инструмента автоматизации бизнес-процесса мониторинга предложений на строительные товары от различных поставщиков
Разработан интерфейс пользователя для заполнения карточки товара со ссылкой на сайт поставщика. Автоматизированный сбор реализован в виде скрипта, использующего Selenium Web Driver, который осуществляет переходы по ссылкам и сохраняет изображения для дальнейшей обработки. Для распознавания использована единая платформа для обучения моделям обнаружения объектов YOLOv8. Контрольные точки обнаружения объектов обучены на основе набора данных COCO detection с разрешением изображения 640
1. Сбор требований от заказчика:
Какие данные о товарах нужно собирать (цены, характеристики, фото и т.д.).
Список поставщиков, чьи сайты нужно мониторить.
2. Анализ сайтов поставщиков:
Структура страниц и наличие защиты от автоматизированного сбора данных.
Форматы данных (JSON, HTML).
3. Разработка ТЗ на инструмент автоматизации:
Указать функционал интерфейса, требования к скриптам сбора данных и обработке изображений.
1. Проектирование UX/UI:
Создание макета интерфейса.
Добавление полей для ввода информации о товаре (наименование, характеристики, цена, ссылка).
2. Реализация функциональной части:
Разработка архитектуры проекта.
Разработка миграций БД.
Разработка backend на ASP.NET Core
3. Реализация интерфейса:
Разработка интерфейса согласно макету на React.js.
Обеспечение интеграции интерфейса с функциональной частью.
4. Тестирование:
Проверка корректности ввода данных.
Удобство использования.
1. Выбор инструментов:
Использовать Selenium WebDriver для навигации по сайтам и взаимодействия с DOM-элементами.
2. Реализация скрипта:
Настройка парсера для извлечения нужных данных (наименование товара, цена, характеристики).
Сохранение изображений товаров для дальнейшей обработки.
Логирование успешных и неудачных попыток сбора.
3. Обработка особенностей сайтов:
Работа с CAPTCHA (если требуется).
Имитация действий пользователя для обхода защит.
4. Тестирование скрипта:
Проверка стабильности и точности извлечения данных.
Устранение ошибок, связанных с динамическими элементами страниц.
1. Подготовка данных:
Сбор и аннотация изображений.
Использование COCO-dataset для начального обучения.
Масштабирование изображений до разрешения 640x640.
2. Обучение модели:
Настройка гиперпараметров для YOLOv8.
Использование мощных графических процессоров для ускорения обучения.
Тестирование модели на валидационном наборе.
3. Оценка модели:
Проверка точности обнаружения объектов (метрики Precision, Recall, mAP).
Устранение ошибок (добавление данных, дообучение).
1. Связывание компонентов:
Интеграция интерфейса с базой данных и скриптом сбора.
Подключение модели YOLOv8 для обработки сохраненных изображений.
2. Настройка автоматизации:
Запуск скриптов по расписанию или на основании событий.
Создание механизма уведомлений (например, об изменении данных о товаре).
3. Тестирование системы:
Проверка работы всех компонентов на реальных данных.
Имитация различных сценариев работы (например, недоступность сайта, изменения структуры страниц).
1. Развертывание системы:
Настройка серверного окружения (например, облачный хостинг).
Размещение базы данных, интерфейса и скриптов.
2. Инструктаж пользователей:
Обучение сотрудников работе с интерфейсом.
Подготовка документации.
3. Мониторинг работы:
Отслеживание производительности системы.
Регулярное обновление и поддержка (например, адаптация к изменению сайтов поставщиков).
![]()
Виктор Шестаков
Технический директор
Мы смогли успешно завершить проект разработки инструмента автоматизации мониторинга предложений строительных товаров. Реализация проекта включала в себя интеграцию современных технологий, таких как Selenium WebDriver для автоматизации сбора данных и платформу YOLOv8 для распознавания объектов на изображениях.
![]()
Благодаря реализованному решению мы смогли значительно упростить процесс сбора и обработки данных от поставщиков, что позволило сократить затраты времени на выполнение рутинных задач и минимизировать человеческий фактор.
Особо хочется отметить:
Интуитивно понятный интерфейс, который был разработан с учетом всех наших пожеланий и легко освоен сотрудниками.
Стабильную работу скрипта автоматического сбора данных, несмотря на различия в структурах сайтов поставщиков.
Высокую точность распознавания объектов на изображениях благодаря внедрению модели YOLOv8, что позволило нам быстро анализировать визуальные материалы.![]()