Caso práctico
On-Site – extracción del catálogo de piezas
On-Site es una agencia digital con sede en Róterdam especializada en experiencia digital y eCommerce para organizaciones B2B. El equipo diseña, construye y mantiene soluciones integradas sobre plataformas contrastadas - Umbraco, nopCommerce, Xperience by Kentico - combinadas con herramientas low-code y su propia plataforma de integración.
Gran parte del trabajo de On-Site gira en torno a los datos: garantizar que la información de productos, de catálogo y de clientes se mantenga coherente y actualizada en todos los canales. Para los proyectos en los que esos datos hay que recopilarlos a gran escala desde fuentes externas, On-Site se apoya en especialistas - y ahí es donde entró noptech.
El proyecto
El reto
On-Site necesitaba extraer datos de producto estructurados de dos grandes catálogos de recambios de fabricantes - uno de maquinaria agrícola y otro de powersports - por encargo de sus propios clientes. Estos catálogos son sistemas jerárquicos y profundos: una máquina se busca por su número de serie y después se descompone nivel a nivel en conjuntos, subconjuntos y piezas individuales, cada uno con su propio despiece y su tabla de números de pieza.
Copiar todo eso a mano no es una opción. On-Site necesitaba un proceso de extracción repetible y verificable que produjera exportaciones a Excel limpias junto con todas las imágenes de los despieces asociados - primero como piloto controlado sobre un conjunto de datos pequeño, con la opción de escalar después al catálogo completo.
Nuestro enfoque
Construimos un crawler a medida en C# sobre Selenium WebDriver, que controla un navegador Chromium real para que la navegación del catálogo, muy dependiente de JavaScript, se comporte exactamente igual que con un usuario humano. El crawler recorre la jerarquía completa de cada número de serie, captura el diagrama de cada nivel y escribe el resultado en un libro de Excel estructurado - una pestaña por nivel, ordenadas por nivel, con los números de pieza, las descripciones y la referencia a la imagen correspondiente.
El piloto se ejecutó desde un único entorno controlado para que el cliente pudiera revisar la calidad de los datos antes de comprometerse con el volumen. Para el segundo proyecto integramos Bright Data, trasladando la capa de recopilación a una red de proxies gestionada con direcciones IP rotativas. Eso le da a On-Site un rastreo distribuido y controlado que escala a un catálogo completo sin castigar el sitio de origen desde una sola dirección.
Lo que entregamos
- Un crawler en C#/Selenium que navega por catálogos de recambios de varios niveles a partir del número de serie, a cualquier profundidad
- Exportaciones a Excel en el formato exacto que el cliente requería - pestañas ordenadas por nivel, columnas coherentes, listas para importar en sus propios sistemas
- Conjuntos completos de imágenes de despieces, emparejadas una a una con las filas de la exportación
- Integración con Bright Data para un rastreo distribuido y controlado al volumen del catálogo completo
- Rastreo incremental solo de los años de modelo que faltaban, de modo que los datos ya recopilados nunca se volvieron a procesar
- Una pasada de validación en cada entrega: imágenes que faltan, huecos en la jerarquía y desviaciones de formato detectados antes de la entrega
El resultado
On-Site recibió conjuntos de datos de prueba con la rapidez suficiente para validar el enfoque con su propio cliente en cuestión de días y, después, una canalización lista para producción para la extracción completa. Los datos llegan con la estructura exacta que esperan sus sistemas, lo que elimina por completo el paso de limpieza manual - y la misma arquitectura de crawler se puede apuntar a otros catálogos cambiando únicamente la lógica de navegación.
Tecnologías
C#
.NET
Selenium WebDriver
Chromium
Bright Data
Excel automation
headless browser automation