• Парсер каталога и цен B2B-поставщика с защитой (Cloudflare) и выгрузкой в PostgreSQL и CSV

    11 hours ago
    • Desired budget up to 420.1 USD
    • Waiting for a performer...
  • Исходная ситуация - есть B2B-сайт поставщика автозапчастей (закрытый каталог с личным кабинетом) и внутренний прайс-лист в нашей ERP устаревает. Ручная сверка занимает 6-8 часов в неделю. У поставщика нет API, карточки товаров и остатки доступны только через веб-интерфейс после логина. На сайте включены антибот-меры (Cloudflare, динамические токены, частичная подгрузка через XHR). Нужно автоматизировать сбор данных и обновление нашей базы для последующего импорта в ERP.

    Техническая среда - Linux сервер (Ubuntu 22.04), Docker доступен. Предпочтительный стек - Python 3.11, Playwright или Selenium + запросы к XHR, PostgreSQL 14. Доступы - тестовый аккаунт к сайту, отдельная схема в Postgres, SSH на сервер. Прокси предоставим при необходимости, но важно минимизировать нагрузку на сайт.

    Что должно получиться в итоге - репозиторий с кодом и Docker-окружением, который по расписанию собирает каталог и цены, сохраняет в PostgreSQL и дополнительно делает ежедневную выгрузку CSV. Данные нужны по всем товарам в выбранных разделах каталога.

    Требования к сбору данных - нужно извлекать SKU/артикул поставщика, название, бренд, категория/путь в каталоге, цена (с валютой), доступное количество/остаток, срок поставки если указан, ссылка на карточку, дата/время парсинга. Если в карточке есть несколько предложений/складов - сохранять по каждому предложению отдельной строкой с привязкой к SKU.

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

    Этапы - 1) анализ сайта и выявление XHR-эндпоинтов/токенов, 2) разработка модуля авторизации и обновления сессии, 3) обход каталога с очередью URL и дедупликацией, 4) нормализация и запись в PostgreSQL (upsert), 5) генерация CSV и простая метрика качества данных, 6) упаковка в Docker + инструкция запуска и пример cron.

    Критерии приемки (измеримые) - 1) полный проход по каталогу из 3 выбранных разделов дает не менее 95% карточек от числа, которое показывает сайт в фильтре/счетчике раздела (допускается расхождение из-за временно недоступных товаров), 2) повторный запуск в течение суток обновляет только изменившиеся записи и завершается без ручного вмешательства, 3) структура таблиц PostgreSQL и CSV соответствует согласованной схеме, 4) в логах есть сводка - сколько карточек обработано, сколько ошибок по типам, сколько позиций обновлено, 5) запуск на сервере через Docker Compose одной командой, 6) средняя нагрузка не превышает лимит и нет массовых 403/429 при нормальном режиме.

    Что предоставим - список разделов каталога, тестовый доступ, сервер, Postgres, пример нужного формата CSV для ERP (колонки и разделитель).
Your offer

You have not submitted an offer for this order yet.
Click “Submit an offer” to send your offer.

Need a similar task?

If this project is close to your need, you can view ready services in the category or post your own task with the required budget, deadline and requirements.

The project «Парсер каталога и цен B2B-поставщика с защитой (Cloudflare) и выгрузкой в PostgreSQL и CSV» can be used as a reference for your own brief: what should be done, what result is needed and what budget to set.