1. Цель проекта
Разработать парсер для автоматического сбора новостей и упоминаний о городе "название скрыто" с последующей публикацией в новостном блоке сайта на uCoz: https://www."название скрыто".ru/
2. Что должен делать парсер
Сбор данных:
Мониторинг новостных сайтов области.
Мониторинг ВКонтакте (посты, хештеги #, геолокация).
Мониторинг каналов в МАКСЕ (публичные каналы о городе).
Извлечение: заголовок, текст, дата, источник, ссылка, изображения.
Обработка:
Исключение дублей (проверка по заголовку и ссылке).
Фильтрация спама и нерелевантных публикаций (по стоп-словам).
Сжатие изображений (JPEG, качество 80-85%, ширина 800px).
Переименование изображений по шаблону.
Публикация на uCoz:
Создание нового материала в модуле "Новости сайта".
Заполнение: заголовок, текст, дата, категория.
Загрузка изображений в файловый менеджер uCoz.
Вставка ссылки на первоисточник в конец текста.
3. Технические требования
Язык: Python 3.8+
Библиотеки: requests, beautifulsoup4, selenium/playwright (для динамических сайтов), pillow (для сжатия изображений).
Интеграция с uCoz: API uCoz (при необходимости PHP-скрипт-обработчик).
Запуск: По расписанию (cron или планировщик) с интервалом 2-4 часа.
4. Требования к безопасности (чтобы uCoz не заблокировал)
Маскировка: Реалистичный User-Agent браузера для каждого запроса (ротация).
Задержки: Не менее 2-5 секунд между запросами к сайтам.
API: Использовать API uCoz с ключом для публикации (не спамить запросами).
Ошибки: Обработка кодов 403, 429, 503 с повторными попытками.
5. Результат работы
Готовый код парсера на Python с открытым исходным кодом.
PHP-скрипт для uCoz (если потребуется).
Инструкция по установке и запуску.
Инструкция по добавлению новых источников.
6. Критерии приемки
Парсер публикует новости на сайте в течение тестового периода (7 дней).
Новости отображаются в новостном блоке с корректным форматированием.
Изображения сжаты и отображаются правильно.
Нет дублей.
Нет блокировок со стороны uCoz (все запросы маскируются под реального пользователя).
7. Сроки и бюджет
Срок: 3-4 недели.
Бюджет: Обсуждается.
8. Что предоставит Заказчик
Доступ к сайту uCoz для настройки API.
Список конкретных источников для парсинга (сайты, группы ВК, макс каналы).
Список стоп-слов для фильтрации.