Задача

Необходимо создать асинхронный парсер (скрапер) для автоматического сбора данных с трёх популярных интернет-площадок по продаже автомобилей (рекламные объявления). Проект должен поддерживать несколько режимов работы и эффективно обрабатывать потоки данных одновременно или последовательно.

Режимы работы

  • Парсинг новых объявлений - непрерывный сбор объявлений, опубликованных только что или с последней проверки.
  • Парсинг всей базы - чтение архивов объявлений (полный сбор данных о машинах за прошлые периоды).
  • Сбор по конкретному фильтру/модели - возможность задать параметры (бренд, регион, ценовой диапазон).

Требования к реализации

  • Исклчительно асинхронная архитектура (на базе asyncio + aiohttp, расходимость потоков не ограничена).
  • Кроссплатформенная совместимость (код должен работать на Windows и Linux).
  • Обработка блокирующих и сетевых ошибок (автоматические реконнекты, паузы).
  • Извлечение ключевых полей: заголовка объявления, описания, характеристик авто (год, пробег, комплектация), цены, контактов.
  • Защита Персональных данных: все названия компаний, веб-сайтов и контактные номера (если присутствуют в базовой версии тз) должны быть заменены на плейсхолдеры.

Технические детали

Для асинхронной обработки используйте high-level конструкции Python (3.10+). Финализацюзня требований обговаривается после начала работы с исполнителем (можно уточнить флаг выхода/ошибки, формат записи файлов - CSV/JSON/Excel). Для ав лидонения доступный data-source затирается перl; по возможности output-output будет standard driven.

Формат выдачи работы

В теле отве ad (JSON) результатом станет чётко структурированный конфиг с проверкой уникальности соб значений. До финала - возврат прототипа с debug log.