Inserisci da url per ottenere valore esatto (no csv, no json)

Inserisci da url per ottenere valore esatto (no csv, no json)

0
0

Ciao a tutti! Domandina veloce: con fm 15 e’ possibile ricavare uno specifico dato da sito web? Mi spiego: tramite script ho bisogno che il DB acquisisca il valore del prezzo dell’oro al grammo da un sito. Prendendo un sito di attività finanziarie qualsiasi è facile reperire l’informazione. A me servirebbe inserirla all’interno di un campo nel mio DB. Ho provato con “inserisci da url”,tramite delle API di uno di questi siti (“https://www.quandl.com/api/v3/datasets/LBMA/GOLD.xml?api_key=5LfVnK-R-xG-8sg-zwzz”). Il problema è che mi scarica troppi dati. Allora ho inserito una quei diversa (“https://www.quandl.com/api/v3/datasets/LBMA/GOLD.xml?api_key=5LfVnK-R-xG-8sg-zwzz&end_date=2017-10-09”) con la data di fine, ma non ci sono riuscito. Voi avete idea di come uscire dal mio loop? grazie infinite

fmp 15 OsX yosemite

 

Segnalato come spam
Pubblicata da (Domande: 7, Risposte: 7)
Domanda inviata 11 Ottobre 2017 11:16
40 vis.
0
Domanda privata

Caro Giulio, sei sempre prezioso. Funziona tutto alla perfezione, sia come hai inserito sia come ho poi modificato con altri url. E’ un mio primo approccio a questo tipo di operazioni, mi serviva proprio una mano!! Grazie ancora

 

Segnalata come spam
Pubblicata da (Domande: 7, Risposte: 7)
Risposta inviata 12 Ottobre 2017 03:18
0
Domanda privata

Buonasera, Flavio.

effettivamente si. ?

andiamo per ordine. Per quanto riguarda gli URL segnalati, puoi usare invece che la data il parametro row, per limitare risposta all’ultima voce, quindi con un URL del genere:

https://www.quandl.com/api/v3/datasets/LBMA/GOLD.xml?rows=1&api_key=5LfVnK-R-xG-8sg-zwzz

 

A questo punto, viene restitutito un XML che contiene la parte che ti interessa:

  1.   <data type=”array”>
  2.       <datum type=”array”>
  3.         <datum type=”date”>2017-10-11</datum>
  4.         <datum type=”float”>1290.2</datum>
  5.         <datum type=”float”>1289.25</datum>
  6.         <datum type=”float”>978.62</datum>
  7.         <datum type=”float”>976.35</datum>
  8.         <datum type=”float”>1091.9</datum>
  9.         <datum type=”float”>1087.61</datum>
  10.       </datum>
  11.     </data>

Per ricavare i singoli valori puoi usare un calcolo abbastanza semplice:

Dichiara(
[testo=tuocampo;
s=”<datum type=”float”>”;
e=”</datum>”;
l=Lunghezza(s);
start=Posizione ( testo ; s ; 1 ; 1)+ l;
end=Posizione ( testo ; e ; 1 ; 2 )];

CercaeSost ( Mezzo(testo; start; end-start); “.”; “,”)

)

così come riportato ricava il valore della prima riga che inizia con il tag <datum type=”float”>.
Aumentando in maniera identica le ricorrenze della funzione Posizione (ovvero il quarto parametro) nelle variabili start ed end,  puoi ricavare le righe successive:  per la seconda riga diventerebbero rispettivamente 2 e 3, per la terza 3 e 4 e cos’ via).

facci sapere ?

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 11 Ottobre 2017 21:46