Bi-MetricsОбсудить задачу
Сбор данных и парсеры

Парсер каталога: цены, наличие и изменения в одной таблице

Когда закупщик проверяет предложения вручную, важно автоматизировать не только копирование цены, но и сопоставление товаров, фиксацию времени и обработку пропусков. Разберём пример такого процесса.

·· 3 мин чтения

Начните с решения, для которого нужны данные

Задача может звучать так: каждый рабочий день видеть, какие позиции подорожали, появились в наличии или перестали отображаться в каталоге. Для неё нужен набор записей с историей, а не просто список цен без даты.

До разработки согласуйте источник, перечень товаров, частоту обновления и формат результата. Если поставщик предоставляет подходящий API или выгрузку, сначала рассмотрите этот способ получения данных.

Какие поля включить в таблицу

  • Идентификатор товара в источнике и ваш артикул, если сопоставление возможно.
  • Название, вариант, упаковка и единица измерения.
  • Цена, валюта и условия её применения.
  • Наличие в том виде, в котором его сообщает источник.
  • Ссылка на запись и время успешного сбора.
  • Статус проверки: получено, пропуск, ошибка или требуется разбор.

Цена за штуку и цена за упаковку не сравниваются напрямую. Акционная цена тоже может зависеть от количества, региона или условий покупки. Эти различия нужно сохранить в данных.

Как выглядит результат: вымышленный пример

Демонстрационные записи

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

Сравнение двух успешных сборов · цена за штуку, ₽
АртикулБылоСталоРезультат
DEMO-011 0001 050Цена выросла на 5%
DEMO-02800800Цена без изменений
DEMO-031 200Цена не получена — проверить

Для первой позиции изменение равно (1 050 − 1 000) / 1 000 × 100% = 5%. Для третьей позиции процент не рассчитывается: отсутствие цены не означает скидку до нуля или отсутствие товара.

Как сопоставлять товары без ложных совпадений

Предпочтителен устойчивый идентификатор: артикул производителя или код товара с учётом варианта. Название само по себе ненадёжно: похожие товары могут отличаться размером, комплектацией или упаковкой.

Неоднозначные совпадения стоит выводить на ручную проверку. Правила удаления дублей и объединения записей согласуются отдельно, чтобы не потерять разные предложения под одним названием.

Что должно происходить при обновлении

  1. Запуск получает данные и фиксирует время проверки.
  2. Обработка приводит значения к согласованному формату.
  3. Проверки выделяют пропуски и необычные изменения.
  4. Новый успешный результат сравнивается с предыдущим.
  5. Пользователь получает таблицу или уведомление по выбранным условиям.

Ошибка загрузки должна отличаться от исчезновения товара. Если источник недоступен, сохраняйте последний успешный результат с его реальной датой и отдельно показывайте сбой обновления.

Как принять первый пилот

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

  • Сверьте выбранные строки с исходными страницами или файлом.
  • Проверьте единицы измерения, валюту и время сбора.
  • Убедитесь, что разные варианты товара не склеились.
  • Проверьте повторный запуск и обработку ошибки источника.
  • Зафиксируйте доступные поля, ограничения и порядок сопровождения.

Bi-Metrics разрабатывает сбор данных под согласованный источник. На первом разговоре определим способ получения данных, формат выгрузки и состав пилота. Сроки и стоимость зависят от структуры и доступности источника.

Результат можно использовать в таблице закупщика или передавать в систему под процессы компании. Подробнее об услуге — сбор данных и парсеры.

Применить к вашей задаче

Обсудить источник и парсер ↗