Задача
Нужно было получить полный каталог WIRTGEN, VÖGELE и HAMM из закрытого десктопного приложения WIDOS, в котором нет API и штатного экспорта. Более 31 тысячи узлов открывались через серверное дерево, технические схемы собирались из тайлов, а старый встроенный Chromium, нестабильная удалённая машина и дубли каталогов делали обычный браузерный парсинг ненадёжным.
Решение
Я провела реверс-инжиниринг интерфейса и сетевого поведения WIDOS, подключилась к встроенному браузеру через Chrome DevTools Protocol и управляла каталогом JavaScript-инъекциями. Парсер раскрывает дерево, собирает карточки деталей и сохраняет прогресс построчно, а отдельный модуль фиксирует динамическую область чертежа через CDP и проверяет смену изображения по набору тайлов и хешу. Данные нормализуются, дедуплицируются и затем загружаются в веб-каталог на FastAPI и SQLite.
Результат
Собрана единая база для 130 моделей техники: 735 906 позиций, 59 254 уникальных артикула, 31 131 узел и 29 392 PNG-чертежа. К узлам привязано 28 624 схемы — около 92% покрытия. В веб-каталоге можно пройти маршрут «машина → узел → чертёж и таблица» или найти артикул напрямую и сразу открыть нужную схему с номером позиции.