Сбор номенклатуры и цен товаров с маркетплейсов
Задача
Собрать с торговой площадки не только перечень товаров с характеристиками, но и цены: регулярно, в структурированном виде и соотнесённые с номенклатурой заказчика.
Что сделал
- Собрал карточки товаров с площадки целиком: наименование, характеристики, артикул и цену.
- Настроил сопоставление собранных товаров с номенклатурой заказчика: сначала точный ключ, потом смысловой поиск по названию и характеристикам, спорные позиции разбирает языковая модель.
- Сделал сбор устойчивым к тому, что интерфейс площадки со временем меняется, а долгий прогон продолжается с того места, где остановился.
- Результат складывается в одну таблицу без повторов: позиция, её параметры, цена и поле для сравнения.
- Собранный датасет отдаётся файлом или таблицей в базе — как удобнее для дальнейшего процесса.
Моя роль
Спроектировал и написал сбор, модуль сопоставления с номенклатурой заказчика и формат результата.
Результат
- Инструмент сбора номенклатуры и цен с торговой площадки.
- Структурированный набор товаров с характеристиками и ценами, соотнесённый с базой заказчика.
Что можно проверить
- Сбор номенклатуры и цен с торговой площадки доведён до рабочего результата и используется заказчиком
- Сопоставление собранных карточек с номенклатурой заказчика работает связкой: точный ключ, смысловой поиск, разбор спорных позиций языковой моделью
- Подход применяется к торговым площадкам по конкретному заказу: под выбранную площадку, номенклатуру и нужный формат результата
Задача
Крупная торговая компания с широким ассортиментом столкнулась с простой вещью: цены и карточки товаров на маркетплейсах живут своей жизнью, а штатной выгрузки, в которой были бы и номенклатура, и актуальная цена, у площадки нет. Открывать каждую карточку руками никто не будет — позиций слишком много.
Нужно было собирать с площадки и сам перечень товаров, и характеристики, и цены — регулярно, в структурированном виде и обязательно соотнесённые с номенклатурой заказчика, чтобы с результатом можно было работать, а не разбирать его заново.
Что собираю и в каком виде
Сбор идёт по публичной витрине: поисковая выдача площадки, карточка товара, её параметры и цена. На выходе получается не текст со страницы, а таблица, где у каждой позиции есть название, артикул, характеристики, цена и поле для сравнения с собственной базой.
Отдельный слой — сопоставление с номенклатурой заказчика. Один и тот же товар на витрине и в учётной системе называется по-разному: «Перфоратор Б-600, кейс, 600 Вт» в одном месте и «Б-600 кейс 0,6 кВт» в другом. Поэтому связка строится в три приёма: сначала точный ключ вроде артикула, затем смысловой поиск по названию и характеристикам, и только спорные случаи дорабатывает языковая модель. Так совпадения находятся там, где простое сравнение строк не работает.
Почему это устойчиво
Интерфейс площадки со временем меняется, и сбор живёт не столько первым запуском, сколько способностью переживать эти изменения. Поэтому навигация по витрине описана отдельно от разбора карточек: экран площадки читается как есть, а когда что-то в нём уезжает, правке подвергается только та часть, которая за экран отвечает.
Второе — долгий прогон. Он идёт десятками часов с сохранением прогресса: остановленный посередине запуск продолжается с того места, где встал, а не с начала. Позиции делятся между несколькими рабочими процессами, результат дописывается в одну таблицу без повторов. Если страница зависла или карточка не пришла, прогон не притворяется успешным: позиция возвращается в обработку, а в итог попадает только честно собранный срез.
Рамки
Со сбором цен есть честная рамка: если у площадки есть официальный API, где нужные данные доступны, первым делом смотрю на него, а по публичному интерфейсу иду там, где штатного способа выгрузить нет. Обходом защит площадок не занимаюсь. Чего нет на публичной карточке, того не будет и в результате — например, закрытых прайсов партнёров.
Кому это нужно
Мониторинг цен конкурентов, своя база номенклатуры и цен для прайс-листа или маркетинга, проверка полноты выложенного ассортимента, подготовка данных для импорта в учётную систему — и всё это без покупки дорогого доступа к чужим сервисам.
Что это значит на практике
Задача решена и решается успешно: сбор номенклатуры и цен с торговой площадки доведён до рабочего результата, который заказчик использует. Тот же подход готов применять и к другой площадке — под конкретный заказ: вы описываете площадку, свою номенклатуру и то, что хотите получить на выходе, я проверяю доступность источника и делаю пилот на части данных. Сбор и мониторинг данных — отдельная услуга.