Задача:
Клиенту требовалось автоматизировать сбор информации о запчастях для китайских автомобилей с сайта китайавто.рус. Вручную нужно было открывать каталог, выбирать бренд, модель, переходить по категориям и копировать данные по каждой детали. Такой процесс занимал много времени и был неудобен при регулярной работе с большим количеством позиций.
Что мы реализовали:
Мы разработали консольную программу, которая автоматически проходит по каталогу сайта, собирает данные о запчастях и сохраняет результат в структурированном виде. Программа позволяет выбрать нужный бренд и модель автомобиля через пошаговый выбор из списков, полученных с сайта, а затем запустить сбор данных по выбранной модели или по всему бренду целиком.
Какие данные собирает программа
Парсер автоматически собирает по каждой найденной запчасти:
- Название — наименование детали;
- Артикул — артикул запчасти, если он указан на сайте;
- Бренд автомобиля — например, Chery;
- Модель автомобиля — например, Chery Tiggo 8 Pro;
- Категория 1 уровня — основная категория каталога;
- Категория 2 уровня — подкатегория, к которой относится запчасть.
Принцип работы программы
- Пользователь запускает программу в консоли.
- Программа получает с сайта список доступных автомобильных брендов.
- Пользователь выбирает нужный бренд из списка.
- После этого программа загружает список моделей выбранного бренда.
- Пользователь выбирает режим работы: собрать данные по всему бренду или только по одной конкретной модели.
- Парсер последовательно обходит каталог запчастей.
- Если данные найдены на основном уровне вложенности, программа собирает карточки деталей.
- Если артикулы или карточки не найдены на 6-м уровне каталога, программа автоматически переходит глубже — на 7-й уровень.
- Найденные данные сохраняются в таблицу.
- После завершения программа формирует итоговые файлы в форматах CSV и XLSX.
Особенность реализация
Каталог сайта имеет многоуровневую структуру, поэтому программа не просто открывает одну страницу, а последовательно проходит по вложенным разделам.
Основная логика построена так, чтобы корректно определять связь между запчастью, брендом, моделью и категориями каталога.
Также предусмотрена обработка ситуаций, когда артикул не указан на текущем уровне. В этом случае программа не останавливается, а продолжает поиск глубже по структуре каталога.
Устойчивость работы
В программе реализована защита от потери данных при сбоях:
- после каждой обработанной категории выполняется промежуточное сохранение;
- если возникает ошибка в отдельной категории, программа фиксирует её и продолжает работу дальше;
- при критической ошибке уже собранные данные сохраняются;
- при ручной остановке через Ctrl+C программа корректно завершает работу и сохраняет результат;
- во время выполнения отображается краткая статистика: сколько категорий обработано, сколько записей найдено и сколько ошибок возникло.
Какой результат получает клиент
На выходе клиент получает готовые таблицы CSV и XLSX со структурированной информацией по запчастям.
В таблице содержатся:
- название запчасти;
- артикул;
- бренд автомобиля;
- модель автомобиля;
- категория 1 уровня;
- категория 2 уровня.
При сохранении программа дополнительно удаляет дубликаты, чтобы в итоговом файле не было повторяющихся записей.


