Описание задачи

Необходимо разработать автономный модуль парсинга, который будет автоматически собирать данные с указанного сайта, отслеживать изменения и отправлять их в очередь RabbitMQ для дальнейшей обработки модулем агрегации. Модуль должен следовать общему паттерну проектирования, принятому в проекте. Примеры реализации смежных модулей будут предоставлены (локальный GitLab).

Обязательный стек технологий

  • Python
  • Django REST Framework
  • Celery
  • PostgreSQL
  • RabbitMQ
  • Docker
  • Docker Compose

Функциональные требования

Универсальность

  • Модуль должен быть готов к сбору любой категории данных без написания нового кода. Достаточно установить флаг в базе данных для конкретной категории — и объявления из неё начнут собираться автоматически.
  • Если ведется сбор сразу всех категорий, необходимо предусмотреть маппинг полученных данных к единому типу категорий, который ожидает система-агрегатор.

Защита от ботов

  • Модуль должен автоматически обходить стандартную защиту сайта от парсинга и ботов на уровне скриптов и заголовков.
  • Не требуется использование сложных капч и человекоподобных решений — достаточно встроенных эмуляций.

Интеграция и передача данных

  • Все собранные сведения после верификации отправляются в RabbitMQ.
  • Формат сообщения должен соответствовать требованиям агрегатора (уточняется в ТЗ).

Архитектурные особенности

  • Модуль полностью автономен и запускается через Docker Compose.
  • Легко адаптируется под другие сайты и категории путем изменения настроек в БД или конфигурациях.

3D модели олимпийских объектов для Сочи: Фишт, Шайба, Ледовый дворец, Огонь

Требуется разработать комплект 3D моделей (STL) олимпийских объектов города Сочи: стадион Фишт, арена Шайба, Ледовый дворец и образ олимпийского огня. Нужна оценка стоимости и осуществимости задачи.