Данная система представляет собой специализированный автоматизированный инструмент для мониторинга рынка смартфонов на платформе Avito. Основная ценность системы заключается в реализации интеллектуального парсинга, который не просто индексирует объявления, а применяет логику скоринга для оценки привлекательности лотов, фильтрации мошеннических предложений и анализа состояния устройств. Система предназначена для автоматизации поиска недооцененных предложений по заданным параметрам.
- [[avito_parser.py]]: Основной исполняемый модуль. Инициализирует логику парсинга, управляет жизненным циклом браузера через
playwrightи выполняет сбор/сохранение данных. Рекомендуется для изучения архитектуры сбора данных. - [[check_results.py]]: Утилитарный скрипт для постобработки и вывода отфильтрованных результатов в консоль. Рекомендуется для понимания структуры выходных данных.
На текущий момент информация о закрепленных владельцах (Knowledge Holders) в метаданных отсутствует.
- Bus Factor Risk: Высокий. Проект имеет критические зависимости от внешних структур веб-страниц (Avito), что делает его уязвимым к изменениям в верстке целевого ресурса. Отсутствие формализованной команды поддержки повышает риск деградации системы при обновлении API или анти-фрод механизмов Avito.
Для развертывания системы выполните следующие шаги:
-
Установка зависимостей:
pip install playwright openpyxl playwright install
-
Конфигурация: Основные параметры сбора данных (ценовые диапазоны, поисковые запросы, город) жестко заданы в [[avito_parser.py]].
[!IMPORTANT] Любые изменения параметров, таких как
PRICE_MIN,PRICE_MAXилиSEARCH_QUERIES, требуют редактирования кода в [[avito_parser.py]]. -
Запуск:
python avito_parser.py python check_results.py
Tip
Файл [[.gitignore]] исключает локальные данные кэша и результаты парсинга (*.xlsx, avito_cache.json) из системы контроля версий.
Система работает по принципу синхронного выполнения задач с использованием асинхронного движка asyncio для управления браузерными контекстами.
- Риски:
- Hotspot Risk: Модуль [[avito_parser.py]] является монолитным центром логики с высокой сложностью, что затрудняет его масштабирование и тестирование.
- Orphan Modules: Все три основных модуля ([[avito_parser.py]], [[check_results.py]], [[.gitignore]]) не имеют явных связей друг с другом в коде, что требует осторожности при рефакторинге.
- Дальнейшие действия:
- Изучить реализацию
async_playwrightвнутри [[avito_parser.py]] для понимания механизмов обхода защиты. - Рассмотреть возможность выноса конфигурационных параметров в отдельный файл (например,
.envилиconfig.json) для снижения жесткой связности. - Ознакомиться с [[LICENSE.txt]] для уточнения правовых аспектов использования кода.
- Изучить реализацию