← Назад ко всем проектам

Клиентский проект

AtomPk Grabber - выгрузка списка товаров в CSV по требованию

AtomPk Grabber - выгрузка списка товаров в CSV по требованию

Технологии

PythonBeautifulSoupCSVAutomationScraping

Услуги

  • Анализ структуры сайта и разметка полей для сбора
  • Разработка граббера на Python с BeautifulSoup
  • Выгрузка собранного списка товаров в CSV
  • Упаковка в исполняемый файл для пользователя без технического бэкграунда

Результаты

  • Исполняемый файл, установка Python не требуется
  • CSV со списком товаров, пересобираемый при каждом запуске
  • Повторяемый процесс сбора, который партнёр запускает сам

Задача

Партнёр работал со списком товаров, опубликованным на сайте, и ему регулярно нужен был этот список в CSV. Собирали вручную: долго, легко ошибиться и невозможно повторить одинаково. Каталог при этом меняется, так что речь шла не про разовую выгрузку, а про работу, которая возвращается каждый раз.

Рассмотренные варианты

  1. Собирать дальше руками - отклонено. Объём работы растёт вместе с каталогом, и при каждом обновлении всё начинается заново.
  2. Python-скрипт, запускаемый из терминала - отклонено. Работать будет, но между пользователем и CSV встают установка Python и командная строка.
  3. Тот же скрипт, скомпилированный в исполняемый файл - выбрано. Логика та же, но запускается двойным кликом на машине, где никаких инструментов разработчика нет.

Решение

Сделать граббер на Python с разбором через BeautifulSoup и отдать его скомпилированным исполняемым файлом, а не исходником. Решающим было то, кто им пользуется: человек, которому нужен CSV, - не тот, кто будет поднимать окружение Python, поэтому формат поставки весил не меньше, чем сам парсинг.

AtomPk Grabber - строки товаров, собираемые с сайта в CSV-файл

Реализация

Граббер запрашивает страницы каталога, разбирает разметку через BeautifulSoup, вытаскивает поля товаров из структуры страницы и пишет их в CSV. Повторный запуск заново обходит сайт, поэтому свежий файл отражает текущее состояние каталога, а не подлатанную старую копию.

Демо

Проход граббера от запуска до готового CSV.

Результат

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

Открыт для работы по контракту

Я доступен для работы по контракту. Если у вас есть интересная идея проекта, запишитесь на звонок через Calendly.

Записаться на 30-минутный звонок