Free e Batch Data Collector condividono tanta parte dell’interfaccia avanzata. Conoscerne le aree principali è fondamentale per ottenere risultati apprezzabili durante l’uso del software. Di seguito gli elementi principali:
- Menu ribbon dedicato: condivide alcune funzioni con la Excel Like interface,come Salva ricetta (Save Recipe), Reset ricetta (Reset Recipe) e Svuota ed estrai dati (Empty results and extract).
- Nome utente: mostra il nome dell’utente che ha effettuato il login. A utenti differenti possono corrispondere diversi privilegi e dunque visualizzazioni e funzioni differenti. Per esempio, un certo tipo di profilo utente potrebbe prevedere l’accesso all’area Batch, un altro no.
- Notifiche: mostra informazioni rilevanti che l’utente deve conoscere quali la disponibilità di nuove versioni e opzioni e interventi programmati o straordinari.
- Tab di accesso alle funzionalità maggiori: Start, Editor ricette (Recipe Editor), Archivio Ricette (Recipe Archive), Batch, Impostazioni (Settings), Account.
- Pulsante di interfaccia semplificata (Simplified interface): mostra o nasconde le opzioni per utenti esperti.
- Templates: Carica il pannello dei template. I modelli disponibili sono raggruppati per tipo in una struttura ad albero.
- Da questo punto inizia la sezione dedicata alla creazione o applicazione di una ricetta. Per ricetta si intende – ma approfondiremo anche in seguito – un insieme di campi da estrarre da una pagina web e di azioni da compiere.
- Il nome della ricetta è un campo obbligatorio e consentirà di individuare le impostazioni di estrazione una volta salvate nell’archivio delle ricette (valido solo per Batch Data Collector).
- Il blocco principale o elemento ripetitivo (main or recursive block) è l’elemento padre che contiene tutti gli elementi figli, di interesse per un’estrazione dati. Per esempio, nel caso di una tabella il blocco padre è il tag table (e gli elementi figli saranno i td subordinati). Qualora non si conoscesse l’elemento ripetitivo sarebbe possibile usare la parola chiave aggressiveScraping, solitamente capace di individuare da sola l’elemento padre.
- Seleziona (Select): attiva un’interfaccia interattiva (Inspector) per la selezione degli elementi da agganciare alla ricetta. L’interfaccia si abilita sul sito originale da cui catturare i dati.
- Area di definizione delle colonne. Per comprendere questa sezione è bene pensare attentamente al file che si desidera ottenere alla fine delle operazioni di scraping. Pensare ad un file in formato Excel può aiutare: quali colonne dovrà contenere e dunque da quali informazioni sarà popolato? L’insieme delle colonne, tutte, costituisce una riga (o tecnicamente un record). E’ proprio quanto bisogna disegnare in quest’area per effettuare un’estrazione. L’utente creerà tante colonne quante ne vorrà ottenere su ogni riga, ciascuna strettamente agganciata alle informazioni della pagina web sottostante.
- Opzioni di colonna: le colonne possono essere riordinate verticalmente, con trascinamento. Nuove colonne possono essere aggiunte tra due pre-esistenti o eliminate per mezzo dei tasti “+” e “-” posti sull’header.
- Etichetta della colonna (Label): rappresenta l’intestazione della singola colonna.
- Filtri di validazione di base: qualora la colonna contenesse informazioni essenziali, sarebbe possibile verificarne la presenza ed invalidare la riga in caso di assenza. Oppure se la colonna contenesse un link di redirezione (redirect), Batch Data Collector seguirebbe il link per catturare la sua destinazione finale (solo Batch Data Collector).
- Nodo & Seleziona (Node & Select): nel campo nodo è necessario specificare un selettore in formato CSS che servirà a catturare una porzione di codice dalla pagina web. La scelta del selettore può essere effettuata anche tramite il tasto Seleziona (Select), esattamente come descritto al punto 10.
- Occorrenza numero (Instance no.). Se il nodo selezionato al punto 15 non corrispondesse ad un singolo elemento ma ad un gruppo di elementi, sarebbe possibile scegliere esattamente quale isolare. Ancora più nello specifico, se il selettore puntasse ad una tabella e dunque ad un insieme di sottocelle (td), potremmo individuare il primo elemento della tabella impostando l’occorrenza a 0, il secondo con occorrenza 1, il terzo con occorrenza 2 e così via.
- Tipo (Type). Molti tag html prevedono attributi. Nelle prossime unità saranno spiegati i concetti base di questo linguaggio, così come dei selettori CSS. E’ importante però sapere che alcuni attributi sono standard ed è possibile catturarne i valori scegliendo dal selettore Tipo i più comuni o indicazioni su come si desideri gestire il testo individuato dal selettore. Se i tipi disponibili di attributi non fossero sufficienti, sarebbe possibile specificare un tipo personalizzato nella cella testuale appena sotto. La specifica di un valore personalizzato annulla l’indicazione standard posta nel selettore Tipo.
- Aggiungi colonna (Add Column) permette di impostare una nuova colonna della ricetta, renderizzando sullo schermo i campi aggiuntivi da riempire. In corrispondenza di ogni nuova colonna è apposto il contatore delle colonne generate.
- Reset ricetta (Reset Recipe) azzera tutte le impostazioni della ricetta. I dati non salvati andranno persi.
- Salva ricetta (Save Recipe) memorizza nell’archivio ricette le impostazioni definite su questa schermata, assegnando a esse il nome identificativo impostato al punto 8. Questa funzione è disponibile solo in Batch Data Collector e solo per alcune tipologie di abbonamento.
- Le ricette possono essere corredate da Eventi. Si tratta di azioni complesse che Free e Batch Data Collector possono svolgere sulla pagina web, prima, dopo e durante l’analisi del codice sorgente. Gli eventi possono essere trascinati con il mouse all’interno dell’area Eventi di questa ricetta (Events of this recipe) per riordinare le priorità di esecuzione.
- La barra di progresso individua i tempi di esecuzione della singola ricetta evidenziando lo stato avanzamento delle azioni accodate.
- La Libreria eventi standard (Library of Standard Events) è una collezione di azioni da aggiungere all’area Eventi della ricetta. Le azioni disponibili differiscono in base alla versione del software utilizzato e le più sofisticate fanno parte esclusivamente di Batch Data Collector. E’ possibile aggiungere eventi cliccando sul “+” posto a sinistra del nome dell’evento scelto. Un evento aggiunto all’area Eventi può essere eliminato agendo invece sul suo pulsante “-“. Il primo degli eventi disponibili nella libreria è Reset eventi (Clear event list) che azzera tutta la configurazione corrente.
- Svuota ed estrai dati (Empty Results and Extract) verifica la validità della ricetta costruita, elimina dalla memoria centrale i dati fin qui raccolti e procede con una nuova estrazione. Se l’estrazione avrà successo compariranno i link per effettuare i download dei file di output nei formati previsti Excel, CSV e JSON. Qualora la ricetta contenesse errori verrebbero notificati a video i campi per i quali si rendesse necessaria una revisione.
- Estrai dati ed accodali (Extract and Append Data) effettua le medesime operazioni di cui al punto 24, fatto salvo lo svuotamento della memoria temporanea dei dati raccolti. Ciò può essere utile in caso di lavorazioni semi-manuali. Ad esempio, qualora si volesse navigare manualmente un sito per scegliere una ad una le pagine a cui applicare la ricetta (o si disponesse solo di Free Data Collector, che non prevede le funzionalità batch). Pagina dopo pagina sarebbe possibile accodare nuovi record a quelli già raccolti, a parità di ricetta. Il risultato finale sarebbe un unico file con tanti record, anziché tanti file con un solo record ciascuno.
- Utilizza tutto il codice disponibile (Use all Source Code) cattura dalla pagina web il codice sorgente prima dell’applicazione della ricetta secondo le modalità descritte ai punti 24 o 25. Il tasto è posizionato in quest’area per rendere ancora più agevole la lavorazione descritta al punto 25. E dunque dopo aver raggiunto una nuova pagina, per catturarne il codice e applicare la ricetta corrente sarebbe sufficiente, in sequenza, la pressione del tasto Utilizza tutto il codice disponibile e poi di Estrai dati ed accodali. Abbiamo appurato che a tasti vicini corrispondono azioni più rapide.
Ok, riprendiamo fiato! I concetti da apprendere sono molteplici, ma le ricette sono generalmente molto semplici da realizzare e le operazioni di uso comune, a seconda delle tue esigenze, potrebbero racchiudersi in un insieme decisamente più circoscritto. Certamente un quadro completo delle opportunità messe a disposizione da questo strumento ti permetterà di ottenere il massimo dalle tue operazioni di scraping e di ottimizzare azioni ripetitive con una manciata di clic.