Технологический стек:
Python 3.11, FastAPI, BeautifulSoup4, Pandas, XlsxWriter, Requests, Asyncio, ThreadPoolExecutor, Jinja2, HTML5, CSS3, JavaScript (ES6), DataTables
Что делает парсер:
✔️ Автоопределение городов (Анапа, Краснодар, Сочи, Геленджик, Новороссийск, Ставрополь)
✔️ Загрузка категорий с количеством товаров
✔️ Парсинг товаров: артикул, название, цена, старая цена, скидка %, группа, категория, фото
✔️ Сбор остатков по адресам магазинов с фильтрацией по выбранному городу
✔️ Пагинация: контроль количества страниц (все / указанное число)
✔️ Параллельный парсинг (ThreadPoolExecutor, max_workers=5) для скорости
✔️ Прогресс-бар в реальном времени, мониторинг задач
Архитектура:
Backend: FastAPI (асинхронные эндпоинты), BackgroundTasks, сессионное управление cookies
Frontend: адаптивная вёрстка, кастомные CSS-анимации, фиксированные колонки таблицы
Форматы выгрузки:
✅ Excel (.xlsx) — автоматическая ширина колонок, автофильтр
✅ CSV (utf-8-sig, разделитель ';')
✅ JSON (indent=2)
Управление данными:
— Глобальное хранилище результатов с группировкой по категориям
— Статистика: средняя цена, товары со скидкой, количество магазинов
— Удаление выбранных/всех результатов
— История задач с отслеживанием статусов
Интерфейс:
5-шаговая структура: город → категории (мультивыбор) → настройки → прогресс → таблица
Таблица с закреплёнными колонками, скроллом, превью фото, хинтами для длинных адресов