AI/ML Startup AI

Indicizzazione di tutti i siti di contenuti della zona .co.uk

Abbiamo messo insieme un elenco pulito dei siti di contenuti della zona — blog e testate giornalistiche — e raccolto i contenuti stessi: un insieme di pagine HTML in uno storage a oggetti di tipo S3 a cui abbiamo dato accesso al cliente.

L’obiettivo

La startup aveva bisogno dell’elenco più completo possibile dei siti di contenuti nella zona .co.uk — blog, siti di news e altre piattaforme editoriali — come base per un corpus di addestramento. Il valore stava proprio nella completezza e nella pulizia: raccogliere tutti i siti di contenuti senza trascinare nell’elenco siti commerciali e domini spazzatura.

Cosa abbiamo fatto e quali dati abbiamo raccolto

Abbiamo passato in rassegna la zona di dominio, selezionato i siti attivi e raccolto per ognuno i segnali tipici di un sito di contenuti: struttura delle sezioni, presenza di feed e RSS, frequenza di pubblicazione e tematica. La lingua inglese era condizione obbligatoria per entrare nell’elenco: i siti della zona in altre lingue venivano scartati. La parte news l’abbiamo confrontata anche con l’indice di Google News: così abbiamo confermato e completato le testate che rientrano con certezza nell’informazione.

Poi abbiamo ragionato al contrario: non solo cercare i «nostri» siti, ma anche ripulire attivamente il superfluo:

  • abbiamo tolto dall’elenco i siti di aziende presenti su Google Maps nelle categorie che non ci interessavano (negozi, servizi, ristorazione e simili); così sono usciti i siti commerciali che, per struttura, potevano passare per siti di contenuti;
  • abbiamo filtrato i siti con punteggio zero nei servizi SEO: lì con ogni probabilità c’è spazzatura o domini abbandonati.

Oltre al registro dei domini vero e proprio (con il tipo: blog / news), abbiamo raccolto anche le pagine HTML di questi siti per il corpus.

Le difficoltà e come le abbiamo risolte

La prima: la completezza della zona. Un elenco pubblico completo non esiste. Abbiamo costruito il registro da più fonti e lo abbiamo confrontato con Google News per chiudere i buchi sul fronte news.

La seconda, quella chiave: separare i siti di contenuti da quelli commerciali. Su questa scala i segnali positivi del tipo «questo è un blog o una testata» sono pochi, così abbiamo invertito il problema e sottratto i domini chiaramente commerciali incrociandoli con Google Maps: se il dominio appartiene a un’attività di una categoria irrilevante, non è un sito che ci interessa.

La terza: la spazzatura e i siti abbandonati. Li abbiamo scartati in base al punteggio zero nei servizi SEO, perché nel corpus non finisse rumore.

Il risultato

La startup ha ottenuto sia un registro pulito dei domini di contenuti della zona (blog e news, senza commercio né spazzatura), sia il contenuto vero e proprio: un insieme di pagine HTML compresse in gzip e archiviate in uno storage a oggetti di tipo S3 a cui abbiamo dato accesso. In altre parole, un corpus pronto all’uso, non un semplice elenco di siti.


Servizi coinvolti nel caso: Database di nomi di dominio · Estrazione di articoli di stampa · Database dei media · Estrazione di dati da Google Maps · Dati per AI/ML · DaaS e dati via API

Materiali utili: Parsing di RSS · Scansionare la struttura di un sito · Come raccogliere dati da un sito