1
Recupera la pagina
Invia una richiesta HTTP e riceve il codice HTML.
2
Esegue il rendering della pagina
Esegue il codice JavaScript della pagina in un browser reale.
3
Individua i dati
Identifica gli elementi con XPath o selettori CSS.
4
Estrae e perfeziona
Estrae i valori e li ripulisce con espressioni regolari.
5
Naviga nel sito
Gestisce l’impaginazione e le pagine protette da accesso.
6
Archivia l'output
In CSV, JSON, un database o un’API a valle.
Recuperare la pagina
Tutto inizia con una richiesta. Lo scraper invia una richiesta HTTP a un URL e riceve una risposta, solitamente in HTML e talvolta in JSON. Per le semplici pagine sottoposte a rendering lato server, questo singolo passaggio fornisce tutto il necessario. Il problema è che la risposta contiene soltanto il payload iniziale inviato dal server; su molti siti moderni si tratta di una struttura quasi vuota.Eseguire il rendering della pagina
Quando un sito crea i contenuti con JavaScript, i dati desiderati non sono presenti nell’HTML iniziale: compaiono solo dopo l’esecuzione degli script della pagina. Il rendering esegue questi script in un browser reale, facendo apparire tutti i contenuti. Il runtime del browser utilizzato determina la fedeltà di caricamento della pagina e il consumo di memoria e tempo; costituisce inoltre il fulcro dell’estrazione da pagine con rendering JavaScript.Individuare i dati
Quando la pagina è completamente caricata, lo scraper deve identificare gli elementi specifici desiderati, ad esempio un prezzo, un titolo o una riga di una tabella. A tale scopo si usano XPath o selettori CSS, che descrivono dove si trova un elemento nella struttura della pagina. La qualità dei selettori fa la differenza tra uno scraper che resiste a piccole modifiche del layout e uno che smette di funzionare a ogni aggiornamento del sito.Estrarre e perfezionare
Individuare un elemento consente di ottenerne il contenuto grezzo; l’estrazione recupera il valore e il perfezionamento lo ripulisce. Un prezzo estratto potrebbe presentarsi come"$1,299.00 USD", mentre occorre soltanto il numero. Le espressioni regolari e le regole di post-elaborazione rimuovono, suddividono e riformattano il testo grezzo nei campi strutturati che si desidera archiviare.