![google sheets crypto](https://cryptonomist.ch/wp-content/uploads/2023/04/google-sheets-crypto-300x200.jpg)
Google Sheets è l’alternativa di Google a Excel di Microsoft, e tra le altre cose consente di importare i prezzi crypto.
Infatti Google Sheets si utilizza online, come SaaS (Software-as-a-Service), quindi è per definizione connesso in rete. Excel invece è un software stand-alone che gira sulla macchina dell’utente anche offline.
Essendo online, Google Sheets può connettersi ad altre fonti dai, anche aggiornate in tempo reale.
Come importare i prezzi crypto su Google Sheets
Sebbene non sia immediato, su Google Sheets è possibile importare dati provenienti da fonti esterne, e tra i dati che è possibile importare in questo modo ci sono anche quelli relativi ai prezzi aggiornati provenienti dai mercati crypto.
Bisogna utilizzare un workaround che sfrutta la funzione IMPORTXML, ed è anche stato pubblicato un video tutorial che mostra come procedere.
Questo tutorial è breve, ma non completo, tanto che ne esiste anche un altro più completo ma anche più lungo.
La fonte dati
La fonte dei dati è il sito web di CoinMarketCap (CMC), da cui si possono estrarre in formato XML importabile su Google Sheets.
Per poter procedere bisogna aprire una per una le singole schede di CMC di tutte le criptovalute i cui prezzi si vogliono importare.
Di queste è necessario copiare l’URL, che ad esempio per Bitcoin è https://coinmarketcap.com/en/currencies/bitcoin/.
Grazie all’URL della scheda di CMC è possibile importare in un qualsiasi documento su Google Sheets i dati contenuti nella scheda stessa, utilizzando la funzione IMPORTXML.
Questa funzione, infatti, ha due argomenti, separati da virgola, che consentono di specificare l’URL della fonte dati, ed il dato che si intende importare.
Per importare il prezzo aggiornato, ad esempio, si utilizza l’argomento “//div[contains(@class,’priceValue’)]”.
In altre parole, per visualizzare in una specifica cella all’interno di un documento su Google Sheets il prezzo aggiornato di Bitcoin bisogna scrivere in quella cella il seguente codice:
=IMPORTXML(“https://coinmarketcap.com/en/currencies/bitcoin/”, “//div[contains(@class,’priceValue’)]”)
Si tratta di un workaround perchè in realtà la fonte dei dati è una pagina HTML, e non un file XML come vorrebbe la funzione IMPORTXML. Tuttavia, tale funzione è in grado di leggere anche un documento HTML.
Infatti l’argomento che si usa per recuperare il prezzo aggiornato non è altro che l’indicazione alla funzione IMPORTXML di andare a prendere il contenuto di uno specifico elemento DIV del codice HTML della pagina, ed in particolare quello contrassegnato con la classe priceValue.
In questo modo in teoria si può dire alla funzione IMPORTXML di visualizzare nella cella in cui è inserita il contenuto di un qualsiasi elemento HTML contenuto nella pagina che si trova online all’url indicato.
Tale workaround in realtà consente di importare qualsiasi contenuto di quella pagina, a patto di poterne individuare in modo univoco il contenitore. Gli elementi HTML chiamati DIV sono per l’appunto dei contenitori, e per visualizzare il codice HTML di una qualsiasi pagina web in genere è sufficiente digitare ctrl+u.
Nel caso specifico di CMC, il codice HTML viene creato in modo dinamico a partire da un codice Javascript, quindi con ctrl+u si vede il codice Javascript, e non l’HTML. Tuttavia, in genere cliccando sopra un qualsiasi elemento della pagina con il tasto destro del mouse è possibile scegliere l’opzione “Ispeziona elemento” per vedere nella barra laterale il codice HTML di quell’elemento.
Come caricare automaticamente i dati crypto aggiornati su Google Sheets
Una volta utilizzato questo workaround, ogni volta che il documento su Google Sheets verrà aperto verrà importato il dato aggiornato.
Tuttavia, cliccando su File/Settings, e poi selezionando la scheda Calculation è possibile impostare un timing di aggiornamento di un minuto o di un’ora per far sì che il dato si aggiorni anche senza dover chiudere e riaprire il file.
In questo modo è possibile avere dati aggiornati ogni minuto relativi a tutti i prezzi di tutte le criptovalute presenti su CMC, a patto, però, di inserire per ognuna di esse l’url specifico della sua scheda.
Il problema è che a volte CMC cambia il codice HTML delle sue pagine, e qualora lo facesse il workaround smetterebbe di funzionare e i dati non si vedrebbero più.
Dato che è piuttosto probabile che ciò prima o poi possa accadere, nel caso in cui sul documento di Google Sheets scompaiano i dati che sono stati importati in questo modo bisognerà aggiornare tutte le funzioni IMPORTXML utilizzate.
In particolare potrebbe esserci da aggiornare l’url, oppure da aggiornare il nome della classe del DIV il cui contenuto si vuole recuperare.
Fonti dati alternative
Questa tecnica funziona anche con qualsiasi altro file HTML aggiornato che sia possibile trovare online, a patto che sia pubblico.
La cosa complicata è andare a trovare il modo per poter indicare in modo univoco alla funzione IMPORTXML quale elemento HTML andare a recuperare, ma grazie all’opzione “Ispeziona elemento” non è poi così difficile andare alla ricerca di un nome, un ID, o una classe che consente di identificare in modo preciso un elemento.
Tuttavia, rimane il problema dell’eventuale modifica del codice HTML, perché non è poi così tanto raro che i codici delle pagine HTML vengano aggiornati, o addirittura stravolti.