Игорь Косоев ikosoev
Python-разработчик | Специалист по парсингу данных
Рейтинг
5 411
№ 251 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Опыт работы
1 год
На сайте с
2026 года
Юридический статус
Самозанятый

Модульный парсер каталогов и медиа-файлов на Python

Используемые навыки Excel Python Автоматизация тестирования Сбор данных Скрипты / Web-приложения

Описание

Разработал отказоустойчивый модульный парсер для автоматического сбора структурированных данных и массовой загрузки медиа-контента со сложных веб-ресурсов.

Проект реализован в виде гибкого консольного приложения с интерактивным управлением и включает два независимых рабочих сценария:

1. Парсинг текстовых данных и каталогов: Скрипт обходит древовидную структуру категорий сайта, извлекает целевые атрибуты (наименования, цены, рейтинги, характеристики) и экспортирует их в чистый структурированный формат CSV / Excel.
2. Интеллектуальный медиа-загрузчик: Модуль в автоматическом режиме скачивает изображения товаров. Логика скрипта самостоятельно создает структуру папок под каждую категорию сайта и выполняет валидацию (очистку) имен файлов от запрещенных операционной системой символов.

Технические особенности архитектуры:
• Модульная структура: Логика интерфейса, парсинга, скачивания файлов и конфигурации строго разделена по независимым компонентам.
• Изолированное логирование: Процессы парсинга данных и загрузки картинок пишут детальные логи в собственные изолированные файлы (parser.log и images.log), что упрощает контроль за выполнением масштабных задач.
• Модуль Smart Delay: Встроенный алгоритм умных задержек имитирует естественное поведение человека, гибко распределяет нагрузку на целевой сервер и полностью исключает риск блокировки по IP антифрод-системами.
• Высокая отказоустойчивость: Реализована комплексная обработка сетевых исключений (HTTPError, ConnectionError, Timeout), что гарантирует стабильную работу скрипта при обрывах связи.

Решение

📁 Структура разработанного решения:
├── logs/ — папка с автоматически генерируемыми изолированными логами.
├── output/ — папка с результатами работы (структурированные CSV и медиа).
├── main.py — главная точка входа, интерактивное консольное меню.
├── parser_logic.py — логика сбора данных в форматы таблиц.
├── image_downloader.py — логика скачивания обложек и картинок по категориям.
├── logger_config.py — конфигурация раздельных логгеров процессов.
└── smart_delay.py — модуль умных пауз между сетевыми запросами.

🔧 Используемый стек технологий:
Python 3.10+, Requests, BeautifulSoup4, lxml, Pathlib, Logging.

Исходный код проекта и архитектура файлов доступны в моем репозитории на GitHub: https://github.com

Результат

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

Оценили проект: