Номинируйте кейсы на Workspace Digital Awards 2026. Прием заявок до 15 декабря по льготной цене, успейте принять участие!
Gambit Lab
Система контроля парсинга
Gambit Lab
#Разработка программного обеспечения#Администрирование серверов

Система контроля парсинга

106 
Gambit Lab Россия, Москва
Поделиться: 0 0 0
Система контроля парсинга
Клиент

ИП Жибаев

Бюджет

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.

Система позволила снизить нагрузку на разработчиков, ускорить аналитику и автоматизировать управление парсерами.


Стек технологий

  • Python Python Язык программирования
  • FastAPI FastAPI Фреймворк/библиотека
  • PostgreSQL PostgreSQL База данных

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Gambit Lab с удовольствием обсудит вашу задачу

Оставить заявку