Сервисы и платформы

Разработка сервиса каталога автозапчастей — parts24online

Объединили прайсы original-carparts и Autocarat в каталог автозапчастей со сравнением закупочных цен и подготовкой контента для карточек

Python 3.12httpxPlaywrightCloakBrowser / ChromiumPostgreSQLSQLAlchemyAlembicFastAPIsqladminDocker ComposeSQLitePartsAPI

Задача

Для parts24online требовалось автоматизировать сбор прайсов original-carparts и Autocarat и подготовить каталог оригинальных автозапчастей для наполнения PartSoft. Предложения на одну деталь нужно было объединить, сохранив цены и условия поставки, а карточки дополнить названиями, применимостью и фотографиями. Позднее к задаче добавилась подготовка товарных названий для Авито.

Прайсы в едином каталоге

Сервис загружает прайсы обоих поставщиков, разбирает файлы и отбирает предложения по закупочной цене и режиму поставки. Для original-carparts подключили загрузку через HTTP-сессию. Для Autocarat настроили браузерный вход через Playwright: сервис получает одноразовый код из почты и сохраняет сессию.

Предложения объединяются по бренду и нормализованному артикулу. Справочник приводит разные написания марок к единому названию, а варианты цен и поставки остаются внутри карточки. Группы FCA, PSA и VAG сохранили отдельно от входящих в них марок, чтобы не объединять разные детали с одинаковыми номерами.

Поиск и сравнение цен

На FastAPI и sqladmin создали административную панель. По артикулу пользователь находит деталь и сопоставляет предложения поставщиков. В панели выделена минимальная закупочная цена и указан исходный файл каждой строки — можно проверить, откуда взялось предложение.

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

Распознанные кузовные детали и шины исключили из каталога и поиска. Стёкла, наружные зеркала и оптика остаются в ассортименте.

Данные для карточек

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

Для фотографий добавили отдельные проверки: сервис отсеивает заглушки, отмечает водяные знаки и проверяет соответствие названия детали названию объявления. Снимки с водяными знаками не входят в счётчик годных фотографий каталога. Источники контента доступны в административной панели.

Названия для Авито

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

Для каждой готовой пары формируются два варианта: до 50 символов для поля Title в Авито и до 100 символов для команды клиента. Формулировками можно управлять через словарь: изменение одной строки применяется ко всем связанным карточкам.

Проект в цифрах

Каталог деталей
4 084 420 карточек

87 брендов, на 21.08.2026

Готовые названия
43 205 пар

Из набора в 46 279 карточек, по итогам прохода 19.09.2026

Цели

  • Автоматизировать загрузку прайсов двух поставщиков
  • Объединить предложения на одну деталь для сравнения закупочных цен
  • Подготовить данные карточек для наполнения PartSoft
  • Сформировать товарные названия для Авито

Целевая аудитория

  • Владелец проекта parts24online
  • Пользователи, которые сравнивают закупочные предложения и готовят каталог автозапчастей

Что нужно пользователю

Job to be done — от ситуации к результату

Ситуация

Я сравниваю предложения двух поставщиков на одну автозапчасть, а бренды и артикулы в прайсах могут быть записаны по-разному.

Задача

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

Результат

Могу сопоставить цены поставщиков в одной карточке и проверить их по исходным файлам, а сведения о детали — по указанным источникам.

Что внутри

1

Загрузка прайсов original-carparts и Autocarat

2

Объединение предложений по бренду и нормализованному артикулу

3

Поиск по артикулу независимо от регистра и разделителей

4

Сравнение закупочных цен с указанием исходных файлов

5

Фильтры по ассортименту и заполненности карточек

6

Возобновляемое обогащение данными внешних каталогов и PartsAPI

7

Проверка фотографий и маркировка водяных знаков

8

Словарная подготовка названий до 50 и до 100 символов

Как работали

1

Подключение загрузки прайсов поставщиков

2

Нормализация брендов и объединение предложений

3

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

4

Запуск обогащения карточек на сервере

5

Подготовка словаря и сборщика товарных названий

Нужен похожий проект?

Расскажите о задаче — оценим объём, сроки и стоимость, предложим решение. Есть ТЗ — загрузите его и получите предварительную цифру за несколько минут.

Оценить по ТЗ