ИП Жибаев
195 000
Услуги
Россия, Сургут
Октябрь 2024
📌 Проблема бизнеса
В процессе парсинга веб-ресурсов возникали две основные проблемы:
✅ Аналитики и контентщики не знали статус парсинга и постоянно запрашивали информацию у программистов.
✅ Запуск регулярных парсеров требовал участия программиста, так как их нельзя было запустить без технических знаний.
Нужно было автоматизировать мониторинг парсеров, дать аналитикам доступ к статусам парсинга и предоставить удобный интерфейс для управления регулярными задачами.
💡 Решение – система контроля парсеров
Была разработана панель мониторинга парсинга, которая:
🔹 Отображает статус каждого парсинга в режиме реального времени.
🔹 Позволяет запускать регулярные парсеры без участия программиста.
🔹 Логирует ошибки и сохраняет результаты парсинга в БД и CSV.
🔹 Технологический стек:
• Backend: FastAPI
• Аутентификация: JWT + OAuth
• База данных: PostgreSQL
• ORM: SQLAlchemy (асинхронный)
• Frontend: Vue.js
• API для управления регулярными парсерами: отдельный FastAPI-сервис
🔹 Как это работает?
1️⃣ Мониторинг статуса парсинга в реальном времени
• Каждый запущенный парсер отправляет данные о статусе в админку.
• В интерфейсе отображается:
✅ Время работы: 03:25 (мин/сек в работе)
✅ Прогресс сбора ссылок: 307 / 1024 страниц
✅ Оставшееся время: ~15:11 мин
✅ Среднее время обработки одной страницы: ~00:30 сек
• Когда идет парсинг товаров, показывается аналогичная информация.
2️⃣ Логирование ошибок
• В системе есть раздел с логами ошибок по каждому парсеру.
• Ошибки фиксируются в БД и отображаются в админке.
3️⃣ Управление регулярными парсерами
• Запуск регулярных парсеров можно настроить через два варианта:
✅ Планировщик задач (аналог cron) – пользователь сам задает расписание через админку.
✅ Ручной запуск через интерфейс.
• Это позволяет анализировать данные без ожидания программистов.
4️⃣ Хранение результатов
• Все данные записываются в PostgreSQL.
• Готовые выгрузки в CSV хранятся в админке для аналитиков и контент-менеджеров.
5️⃣ Два API для управления системой
• Основное API (FastAPI) – админка и мониторинг:
✅ Получает логи ошибок и прогресса.
✅ Отправляет результаты парсинга в БД.
✅ Управляет пользователями через JWT + OAuth.
• Второе API (FastAPI) – управление серверами парсинга:
✅ Обрабатывает команды старт, стоп, изменение планировщика.
✅ Подключается к серверам, где выполняются регулярные парсеры.
Результаты и выгоды:
✅ Прозрачность парсинга – аналитики и контентщики больше не зависят от программистов. Те в свою очередь могут сосредоточиться на новых парсерах и оптимизации старых, поддержки их в актуальном состоянии (т.к. у сайтов есть свойство меняться время от времени)
✅ Автоматизация мониторинга – реальное время, прогресс, оставшееся время и ошибки.
✅ Гибкость управления – запуск парсеров вручную или по расписанию.
✅ Упрощенная работа с данными – результаты сразу доступны в БД и CSV.
Система позволила снизить нагрузку на разработчиков, ускорить аналитику и автоматизировать управление парсерами.