Клиентский проект2 мин чтения
AtomPk Grabber - выгрузка списка товаров в CSV по требованию

Технологии
Услуги
- →Анализ структуры сайта и разметка полей для сбора
- →Разработка граббера на Python с BeautifulSoup
- →Выгрузка собранного списка товаров в CSV
- →Упаковка в исполняемый файл для пользователя без технического бэкграунда
Результаты
- ✓Исполняемый файл, установка Python не требуется
- ✓CSV со списком товаров, пересобираемый при каждом запуске
- ✓Повторяемый процесс сбора, который партнёр запускает сам
Задача
Партнёр работал со списком товаров, опубликованным на сайте, и ему регулярно нужен был этот список в CSV. Собирали вручную: долго, легко ошибиться и невозможно повторить одинаково. Каталог при этом меняется, так что речь шла не про разовую выгрузку, а про работу, которая возвращается каждый раз.
Рассмотренные варианты
- Собирать дальше руками - отклонено. Объём работы растёт вместе с каталогом, и при каждом обновлении всё начинается заново.
- Python-скрипт, запускаемый из терминала - отклонено. Работать будет, но между пользователем и CSV встают установка Python и командная строка.
- Тот же скрипт, скомпилированный в исполняемый файл - выбрано. Логика та же, но запускается двойным кликом на машине, где никаких инструментов разработчика нет.
Решение
Сделать граббер на Python с разбором через BeautifulSoup и отдать его скомпилированным исполняемым файлом, а не исходником. Решающим было то, кто им пользуется: человек, которому нужен CSV, - не тот, кто будет поднимать окружение Python, поэтому формат поставки весил не меньше, чем сам парсинг.

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

Traffic Connect - оркестрация ИИ-контента для сайтов на WordPress
До: генерацию статей с помощью ИИ нужно было вести на множестве сайтов на WordPress, и управлять ею из одного места было нельзя. После: одна админ-панель ставит задачи в очередь для каждого сайта, а сайт сам забирает свои задачи через плагин. Систему я собрал с нуля примерно за месяц.

PREZA - сайты школьных презентаций с более чем 80 000 сгенерированных PDF
До: сайтам школьных презентаций нужны были десятки тысяч готовых файлов, сделать которые вручную было невозможно. После: грабберы, парсеры и автоматическая многопоточная генерация дали больше 80 000 PDF, которые хранятся в холодном S3 Selectel и опубликованы на preza.kz и preza.top.

ИИ-ассистент по продажам для сервисного бизнеса
До: входящие лиды попадали в контактную форму и часами ждали ручного ответа. После: ИИ-агент квалифицирует каждого посетителя в реальном времени - уточняет бюджет и сроки, создаёт запись в CRM, отправляет персональное follow-up-письмо и назначает звонок - всё это без участия человека.
Открыт для работы по контракту
Я доступен для работы по контракту. Если у вас есть интересная идея проекта, запишитесь на звонок через Calendly.
Записаться на 30-минутный звонок