Come trasformare i contenuti non strutturati di un sito in dati strutturati
Una pagina web è pensata per essere letta, non per comportarsi come la riga di un database. Titoli, testo, card e tabelle di specifiche possono descrivere la stessa entità in modi diversi.
Trasformare quei contenuti in dati strutturati richiede due passaggi distinti: acquisire fedelmente la fonte, poi applicare uno schema documentato.
Decidi cosa rappresenta un record
Un record può rappresentare un prodotto, un’azienda, una policy, un articolo, un luogo o un evento. Mescolare più entità in una riga produce campi difficili da interpretare.
Scrivi un breve contratto per ogni campo:
| Domanda | Esempio di decisione |
|---|---|
| Cosa significa il campo? | publishedDate è la data di pubblicazione indicata nella pagina |
| Di che tipo è? | Data ISO, testo, numero, lista o URL |
| Può mancare? | Sì; usa un valore vuoto anziché un valore dedotto |
| Può ripetersi? | Tag e certificazioni possono essere liste |
| Cosa dimostra il valore? | Il record conserva un URL sorgente |
| Come si gestiscono i conflitti? | Segnala per la revisione due valori pubblicati diversi |
Acquisisci template rappresentativi
Scegli esempi di ogni tipo di pagina, non solo la pagina più pulita. Includi un record scarno, una pagina con una tabella, un layout più vecchio e un’eccezione.
I job di acquisizione dati di Seekdown recuperano le pagine in un dataset di memoria. La vista dei contenuti del dataset ti permette di controllare titolo, URL, corpo, riepilogo e altre informazioni acquisite prima dell’esportazione.
Se un valore non è presente nel corpo acquisito, nessuna fase successiva di strutturazione può recuperarlo in modo affidabile da quel record.
Normalizza senza cancellare il significato
La normalizzazione deve rendere confrontabili i valori equivalenti preservando i qualificatori utili.
- Converti "16 bar" nel valore 16 e nell’unità bar solo se restano disponibili entrambi.
- Mappa "Sì", "Disponibile" e un segno di spunta su un unico booleano solo quando significano la stessa cosa.
- Conserva "da", "stimato" e "contattaci" invece di trasformarli in prezzi esatti.
- Mantieni il testo originale per l’audit quando assegni una categoria controllata.
- Salva le date in un unico formato, ma conserva il fuso orario pubblicato quando è rilevante.
Separa l’estrazione dalla convalida
Usa un campione etichettato per misurare i risultati a livello di campo. Registra separatamente i valori mancanti, errati e non supportati.
Una pagina può produrre un record valido anche quando manca un campo facoltativo. Deve invece fallire quando un valore è inventato, attribuito all’entità sbagliata o privato di un qualificatore sostanziale.
Conserva la provenienza nel dataset finale
Un valore strutturato senza URL sorgente e data di acquisizione è difficile da verificare e rischioso da aggiornare alla cieca.
Scegli un output per l’attività successiva
Usa CSV per la revisione in un foglio di calcolo, JSON per script e importazioni, oppure un feed OData Enterprise per una connessione aggiornabile a Excel o Power BI. Il formato deve seguire l’attività di chi usa i dati; non cambia la qualità della fonte o dello schema.