Scansione ed estrazione dati

Come trasformare i contenuti non strutturati di un sito in dati strutturati

Testo di pagina normalizzato in campi coerenti con l’evidenza della fonte
Testo di pagina normalizzato in campi coerenti con l’evidenza della fonte

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:

DomandaEsempio 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.

Contenuti del dataset Seekdown con record acquisiti e dati di esempio
Contenuti del dataset Seekdown con record acquisiti e dati di esempio

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.