Описание:
Многим пользователям и компаниям требуется регулярно извлекать данные с веб-сайтов цены, новости, каталоги товаров или произвольный контент. Готовые парсеры часто ограничены конкретными сайтами, а полноценные scraping-сервисы стоят дорого и требуют технической настройки.
Задача заключалась в создании универсального сервиса, который позволяет парсить любые веб-страницы, извлекать структурированный контент и при необходимости использовать AI для умного анализа - без необходимости писать код со стороны пользователя. Отдельным требованием было наличие удобного интерфейса в Telegram и REST API для интеграции в другие системы.
Решение:
Я разработал сервис на FastAPI, который принимает URL страницы, автоматически загружает контент (через httpx или Playwright для динамических сайтов), очищает HTML и формирует структурированное представление данных.
Поверх базового парсинга реализован AI-парсинг: пользователь может дать инструкцию на естественном языке (например «извлеки цены» или «собери заголовки новостей»), после чего GPT анализирует очищенный контент и возвращает готовый результат.
Добавлен Telegram-бот на aiogram, через который пользователь может:
• отправлять команды для парсинга страниц
• задавать инструкции AI-парсеру
• использовать AI-помощника
• просматривать историю запросов
Все результаты сохраняются в PostgreSQL, доступна история операций.
Проект полностью контейнеризирован в Docker Compose, поддерживает автодеплой и готов к развертыванию на сервере.