Il valore dei dati

(di Giorgio Tosi)
16/02/22

È risaputo che in Internet sono presenti una quantità di dati di tipologia e di fonti diverse. Dati che sono generalmente disponibili ad una consultazione tramite quei browser che ci permettono di interagire con la rete in modalità che possono essere solo testuali (lettura di un articolo, per esempio) o anche multimediali (audio, video e streaming).

Sembra quindi che tutti questi dati siano a disposizione di chiunque e possano essere utilizzati per estrarre informazioni che ci possono servire nell’orientare le nostre scelte di vita quotidiana.

In realtà le cose non sono cosi trasparenti e semplici. Le modalità di utilizzo di questi dati sono infatti pensate per l’interattività che contraddistingue il rapporto Uomo-Macchina. Le difficoltà sorgono nel momento in cui si vogliono riutilizzare questi dati per elaborarli in maniera personale per estrarre delle informazioni di interesse specifico per il singolo utente.

Per chiarire facciamo riferimento al caso delle quotazioni azionarie di un qualsiasi mercato (Borsa Italiana, Nyse o Nasdaq…): esistono una moltitudine di siti che permettono l’analisi dell’andamento di una azione (TICKER) e forniscono tutta una serie di dati relativi al valore, alle quantità trattate, ai massimi e minimi giornalieri e cosi via. L’interfaccia verso questi dati è, come affermato, quella tipica dell’interazione Uomo - Macchina: il browser.

Qualora io volessi elaborare localmente questi dati per estrarre informazioni di mio interesse, le cose si complicano significativamente. Per accedere a quegli stessi dati da un’interfaccia programmatica sono disponibili 2 metodologie: il web scraping oppure l’accesso tramite una apposita interfaccia dati come API REST (representational state transfer) o SOAP (Simple Object Access Protocol), dove REST è di gran lunga la soluzione più diffusa ed utilizzata.

Analizziamo brevemente le due alternative. Il web scraping si basa sull’emulazione di un comportamento umano trasferendo sul client la pagina web di interesse per poi intervenire su di essa alla ricerca del dato di interesse individuando un pattern di riconoscimento noto. Ad esempio utilizzando particolari tag HTML che permettono di identificare il dato di interesse all’intento della pagina HTML.

Malgrado siano disponibili in vari linguaggi di programmazione (JavaScript, Python, Java,…) delle librerie che in qualche modo facilitano l’individuare e il riconoscere il particolare dato, la procedura non risulta immediata ed è prona ad errori. Inoltre nel caso la pagina HTML sorgente cambiasse è possibile che la script sviluppata incorra in errore perché è cambiato il pattern di riconoscimento (ad esempio è cambiato il tag che identifica il dato) questa soluzione quindi, seppur possibile, può essere problematica per la complessità di realizzazione e per la dipendenza stretta dalla struttura della pagina HTML.

La soluzione basata invece su una interfaccia programmatica API REST (o SOAP) si presenta assolutamente più robusta e più facile da implementare.

Il compito di queste interfacce è quello di uniformare le modalità di accesso ai dati. Nel caso delle interfacce REST verrà quindi utilizzata la tecnologia HTTP e i dati richiesti verranno letti tramite delle GET su URL specifici costruiti in maniera tale da identificare univocamente i dati di interesse.

Come esempio riporto l’URL di accesso all’interfaccia REST del servizio di conversione valute fornito da Banca d’Italia.

https: //tassidicambio.bancaditalia.it/terzevalute-wf-web/rest/v1.0/dailyRates?referenceDate={date}&baseCurrencyIsoCode={ffrom}¤cyIsoCode={tto}&lang={“it"}

I termini in grassetto servono a definire le valute in gioco e la data di valorizzazione del rapporto di conversione. Una operazione di GET su tale URL riporterà quindi in valore ricercato. Tale operazione è facilmente implementabile da un qualsiasi linguaggio di programmazione (Python, Javascript, C#,…) mediante l’utilizzo di opportune librerie.

Malgrado siano presenti numerosi servizi gratuiti basati su questo tipo di interfacce, è interessante notare come esistano molti siti che offrono informazioni di tipo finanziario a pagamento. Si tratta di solito di dati particolarmente dettagliati che offrono una panoramica completa su aspetti legati ad informazioni finanziarie relative a mercati ed aziende di tutto il mondo. Mi preme sottolineare come molti di questi siti, in particolare quelli legati agli aspetti economici e finanziari, offrano l’accesso completo solamente a fronte di una qualche forma di abbonamento.

In sostanza la fruizione di dati tramite una interfaccia programmatica è soggetta ad un pagamento. Il che concorre a rafforzare un concetto base che viene spesso trascurato: in Internet il vero valore è nei dati. Se i dati aggregati e fruibili, ma comunque pubblici, di aziende quotate hanno un specifico valore e sono oggetto di offerte di abbonamento, possiamo immaginare quale valore abbiano i nostri dati personali che, più o meno consapevolmente, abbiamo consegnato ad una moltitudine di aziende che gestiscono siti di e-commerce o social network.

Riferimenti

Uno dei molti siti che offrono informazioni finanziarie in abbonamento https://site.financialmodelingprep.com/developer/docs/pricing

Approfondimento su interfaccia REST https://www.ibm.com/cloud/learn/rest-apis