Надёжный подход к любым техническим задачам

Михаил Анкудинов Magbusjap

Рейтинг: 1 693
Паспорт верифицирован
Всего отзывов: 7 0
Выполнил заданий: 8
  • Работ в портфолио: 11
  • Типовых услуг: 0
  • Работ на продажу: 0
  • Возраст: 33 года
  • Стаж работы: 6 лет
  • Зарегистрирован: 12.06.2013
  • Образование: Среднее профессиональное
  • Юридический статус:Самозанятый
  • Стоимость услуг (руб): 1 000 за час 70 000 за месяц
Был на сайте:

Система парсинга данных с AI-анализом через LLM и Telegram-интерфейсом

Используемые навыки:

Описание

Универсальная система для автоматического парсинга веб-ресурсов с последующим AI-анализом данных и доставкой результатов в Telegram. Архитектура выстроена модульно — под конкретную задачу подключаются нужные парсеры и настраивается промпт для LLM. Работает 24/7 на VPS.

Решение

— async_playwright обязателен в asyncio event loop (sync-версия блокирует loop)
— Telegram callback_data ограничен 64 байтами — решается передачей record ID
— Groq API заблокирован в РФ — в качестве альтернативы выбран DeepSeek через RouterAI
— Нужна защита от повторной обработки одних и тех же записей (уникальный ключ + проверка перед вставкой)
Применимость:
Архитектура подходит для задач, где нужно регулярно собирать данные, фильтровать их через AI и получать уведомления: мониторинг объявлений, отслеживание упоминаний, сбор лидов, анализ конкурентов, трекинг изменений на сайтах и т.д.
Стек: Python 3, Playwright, BeautifulSoup, python-telegram-bot, PostgreSQL 16, RouterAI API, DeepSeek v3.2, Laravel 12, Filament 3, systemd.

Результат

— Модуль парсинга:
• Python-парсеры с разными стратегиями под тип сайта
• BeautifulSoup для статического HTML
• Playwright с headless Chromium для сайтов с JS-рендерингом
• Извлечение JSON из inline-скриптов (window.__INITIAL_STATE__ и аналогичных) — быстрее, чем DOM-парсинг
• Отдельные Python venv на каждый парсер — изоляция зависимостей
— AI-анализ через LLM:
• Интеграция с RouterAI → DeepSeek v3.2 (стоимость ~0.03 RUB за анализ)
• System prompt хранится в БД и редактируется из Filament без деплоя
• Структурированный вывод через prompt engineering: категоризация, оценка, рекомендации, тег-классификация
• Возможность переключения LLM-провайдера (OpenAI, Claude, DeepSeek) через конфиг
— Self-learning через human feedback:
• В БД сохраняются AI-вердикт и реальное решение пользователя
• Расхождение помечается как human_override
• Последние 20 override'ов автоматически инжектятся в prompt при каждом новом анализе
• Система постепенно адаптируется под предпочтения пользователя
— Telegram-доставка:
• Результаты приходят в Telegram с форматированным сообщением
• Inline-кнопки для обратной связи и управления
• Передача ID в callback_data, а не полных данных (обход лимита 64 байт Telegram API)
• Markdown-форматирование с защитой от конфликтов экранирования
— Filament-админка для управления:
• Список всех распарсенных записей с фильтрацией по AI-вердикту, источнику, дате
• Редактирование system prompt и параметров AI без деплоя
• Страница аналитики: статистика по источникам, конверсия, override rate
• Логи работы системы с уровнями (info, warning, error)
• CRUD для дополнительных сущностей (лиды, компании и т.д.)
— Инфраструктура:
• systemd-сервис для 24/7 работы
• Таблица состояния (bot_state) — переживает перезагрузки
• Cron-задачи для регулярного запуска парсеров
• Логирование ошибок в БД и stdout

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

2026-04-22_20-31-22.png
2026-04-22_20-31-10.png
2026-04-22_20-31-36.png

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

0