Expertise. Experience.

Gambit Lab gambitteam

Рейтинг: 569
не верифицирован
Всего отзывов: 0
  • Работ в портфолио: 20
  • Типовых услуг: 0
  • Работ на продажу: 0
  • Образование: Магистратура
  • Тип занятости: Полный фриланс
Был на сайте:

Parsing Control (Система контроля парсинга)

Описание

📌 Проблема бизнеса
В процессе парсинга веб-ресурсов возникали две основные проблемы:
✅ Аналитики и контентщики не знали статус парсинга и постоянно запрашивали информацию у программистов.
✅ Запуск регулярных парсеров требовал участия программиста, так как их нельзя было запустить без технических знаний.
Нужно было автоматизировать мониторинг парсеров, дать аналитикам доступ к статусам парсинга и предоставить удобный интерфейс для управления регулярными задачами.

Решение

💡 Решение – система контроля парсеров
Была разработана панель мониторинга парсинга, которая:
🔹 Отображает статус каждого парсинга в режиме реального времени.
🔹 Позволяет запускать регулярные парсеры без участия программиста.
🔹 Логирует ошибки и сохраняет результаты парсинга в БД и 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.
Система позволила снизить нагрузку на разработчиков, ускорить аналитику и автоматизировать управление парсерами.

Презентация проекта

ChatGPT Image 14 апр. 2025 г., 11_01_41.png

Оценили проект:

0