Case study
On-Site – estrazione dati dal catalogo ricambi
On-Site è un'agenzia digitale con sede a Rotterdam specializzata in esperienza digitale ed e-commerce per organizzazioni B2B. Il team progetta, realizza e mantiene soluzioni integrate su piattaforme collaudate - Umbraco, nopCommerce, Xperience by Kentico - unite a strumenti low-code e alla propria piattaforma di integrazione.
Gran parte del lavoro di On-Site ruota attorno ai dati: garantire che le informazioni su prodotti, cataloghi e clienti restino coerenti e aggiornate su ogni canale. Per i progetti in cui quei dati vanno raccolti da fonti esterne su larga scala, On-Site si affida a specialisti - ed è qui che è entrata in gioco noptech.
Il progetto
La sfida
On-Site aveva bisogno di dati di prodotto strutturati estratti da due grandi cataloghi ricambi di produttori - uno nelle macchine agricole, uno nel powersports - per conto dei propri clienti. Questi cataloghi sono sistemi profondi e gerarchici: una macchina si cerca per numero di serie, poi viene scomposta livello per livello in gruppi, sottogruppi e singoli ricambi, ciascuno con il proprio disegno esploso e la propria tabella dei codici articolo.
Copiare tutto questo a mano non è un'opzione. On-Site aveva bisogno di un processo di estrazione ripetibile e verificabile che producesse esportazioni Excel pulite più tutte le immagini dei disegni associate - prima come pilota controllato su un piccolo insieme di dati, con la possibilità di passare in seguito all'intero catalogo.
Il nostro approccio
Abbiamo costruito un crawler su misura in C# basato su Selenium WebDriver, che pilota un vero browser Chromium in modo che la navigazione del catalogo, ricca di JavaScript, si comporti esattamente come per un utente umano. Il crawler percorre l'intera gerarchia per numero di serie, cattura il disegno di ogni livello e scrive il risultato in una cartella di lavoro Excel strutturata - una scheda per livello, ordinate per livello, con codici articolo, descrizioni e il riferimento all'immagine corrispondente.
Il pilota è stato eseguito da un unico ambiente controllato, così il cliente ha potuto verificare la qualità dei dati prima di impegnarsi sui volumi. Per il secondo progetto abbiamo integrato Bright Data, spostando il livello di raccolta su una rete proxy gestita con indirizzi IP a rotazione. Questo dà a On-Site un crawling distribuito e controllato che arriva a un catalogo completo senza martellare il sito di origine da un solo indirizzo.
Che cosa abbiamo consegnato
- Un crawler in C#/Selenium che naviga cataloghi ricambi a più livelli per numero di serie, a qualsiasi profondità
- Esportazioni Excel nel formato esatto richiesto dal cliente - schede ordinate per livello, colonne coerenti, pronte per l'importazione nei suoi sistemi
- Set completi di immagini dei disegni esplosi, abbinate una a una alle righe dell'esportazione
- Integrazione di Bright Data per un crawling distribuito e controllato sul volume dell'intero catalogo
- Crawling incrementale dei soli anni modello mancanti, così i dati già raccolti non sono mai stati rielaborati
- Un passaggio di validazione su ogni consegna: immagini mancanti, lacune nella gerarchia e deviazioni di formato individuate prima del rilascio
Il risultato
On-Site ha ricevuto insiemi di dati di prova abbastanza in fretta da convalidare l'approccio con il proprio cliente nel giro di pochi giorni, e poi una pipeline pronta per la produzione per l'estrazione completa. I dati arrivano nella struttura esatta che i suoi sistemi si aspettano, il che elimina del tutto la fase di pulizia manuale - e la stessa architettura di crawler può essere puntata su altri cataloghi sostituendo soltanto la logica di navigazione.
Tecnologie
C#
.NET
Selenium WebDriver
Chromium
Bright Data
Excel automation
headless browser automation