Condividi:        

Ricavare dati di origine di un grafico online

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 09/02/24 14:35

Io ho accesso a un sistema di monitoraggio, che mi permette di vedere alcune serie di dati sull'arco dell'anno scorso. Posso zoomare quanto voglio, per vedere i dati, che sono registrati a cadenza oraria e scorrendo con il puntatore posso vedere alcuni metadati legati a quel grafico.
Ho chiesto e ri-chiesto di avere quei dati in un qualsiasi formato digitale, in modo da poterli elaborare in excel, perché mi servono per ulteriori valutazioni.
Però chi mette in rete è un subappaltante di un subappaltante del mio interlocutore e si rifiuta di fornirmeli.
Ora la domanda: visto che il mio schermo li vede e li rappresenta in forma corretta e numerica (non come immagine), non c'è un momento in cui quei dati devono passare al mio PC e dove io posso intercettarli?
Non posso darvi il link perché sono comunque dati sensibili di terzi.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Sponsor
 

Re: Ricavare dati di origine di un grafico online

Postdi Anthony47 » 09/02/24 19:16

Se la pagina web presenta i dati su cui si basa il grafico allora probabilmente si puo' fare qualcosa tramite l'ambiente Selenium (vedi viewtopic.php?f=26&t=112225)
Ma avere l'accesso alla pagina web e' fondamentale, altrimenti non si va da nessuna parte; vedi tu che cosa puoi fare...
Avatar utente
Anthony47
Moderatore
 
Post: 19465
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 12/02/24 08:00

Purtroppo, come detto, non posso assolutamente pubblicare qui i dati di accesso: sono dati di privati, gestiti per opera di vari subappaltanti, da parte di un committente pubblico. Io sono solo l'ultimo anello della lunga catena.
Adesso provo a dare un'occhiata ai lavori con selenium.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 12/02/24 09:40

Selenium installato e funzionante.
Ma questo mi serve solo a mostrarmi l'edificio in cui si trova la famosa scala ai cui piedi mi troverei, riuscendo a entrarci!
Il primo ostacolo è già solo il fatto che per accedere ai dati che voglio estrapolare devo entrare con un login. Quindi una macro in cui ho solo sostituito il modello con il mio url si interrompe mostrandomi la pagina di accesso.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi Marius44 » 12/02/24 12:56

Salve a tutti
Qualche tempo fa il buon Anthony47 pubblicò qualcosa che conservo gelosamente: ricavare i dati da un'immagine di un grafico.
Questo il link http://www.pc-facile.com/forum/viewtopic.php?f=26&t=106191
Vedi se può esserti utile.
Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 12/02/24 15:39

Assolutamente, c'ero anche io!
Ma si partiva da grafici contenuti in un'immagine.
Qui la differenza è che io SO che per fare il grafico web hanno i valori (infatti cliccando sui punti ottengo tutti i dettagli).
Partire dalle immagini sarebbe una perdita di precisione inammissibile.
Oltretutto sono dati raccolti ogni 5 minuti per un anno intero.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi Anthony47 » 12/02/24 18:16

Sono sicuro che Gromit saprebbe risolvere in autonomia il problema, guardando altri esempi di automazione con Selenium.

Probabilmente posso dare ancora un contributo lavorando sul codice html della pagina che contiene i dati. Quindi la proposta:
-apri Notepad
-accedi al portale, fai il login, vai alla pagina che contiene i dati
-ora fai "tasto dx" su qualsiasi elemento, e scegli Esamina (Edge) /Ispeziona (Chrome) /Analizza (Firefox) ; ti si aprirà un frame che contiene il codice html di quanto visualizzato (ragionevolmente sarà molto diverso dal "Sorgente pagina")
-cerca verso l'inizio in alto il "tag" <body .....>
-fai Tasto dx sul tag, scegli Copia /Html esterno
-incolla quanto copiato su Notepad
-Ispeziona con pazienza il testo per controllare se in esso sono contenuti Nominativi, Indirizzi, Codici Cliente, numeri contratto e altre informazioni riservate.
Se Sì, sostituisci ogni carattere delle info da rimuovere con una "Z", prestando attenzione a non modificare Tag html e suoi attributi.
Salva il file come ".html" e prova a fare (su esplora risorse, tramite tasto dx) Apri_con /il tuo Browser.
Controlla che le informazioni da raccogliere siano visualizzate (e che non siano rimaste informazioni sensibili visibili)

A questo punto:
-fai uno screenshot evidenziando quali info sono da raccogliere
-condividi il file html
-indica l'url della pagina di partenza (penso che sia anonima; o No?)
-metti tulle te informazioni nel tuo prossimo messaggio

Su questa base dovrei essere in grado di creare una macro che apre l'url di partenza e si ferma in attesa del login; completato il login, assumendo di essere arrivato alla pagina da cui hai raccolto il codice html, la macro completa la raccolta delle informazioni ora visualizzate

Come ti sembra?
Avatar utente
Anthony47
Moderatore
 
Post: 19465
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 13/02/24 09:36

Eh, nel mio mondo bipolare sono sempre più Wallace e sempre meno Gromit.

Questo è il file html, non mi sembra ci siano dati sensibili sui proprietari.

https://www.dropbox.com/scl/fi/51ig7n9vhrsc816zc9uh7/datisonde1.html?rlkey=pj60ajo80psiqy6akbh21jsbe&dl=0

Vedo molti numeri, ma non identifico quelli che servono a me, sono le tre curve visibili nel grafico: verde, blu e nera.

Immagine

I valori della linea nera dovrebbero variare da 1,5 a circa 2.
I verdi da 2 a 21 e i blu da 5 a 23.

Questa è la pagina, che però richiede la password di accesso.
https://cmi.ta.co.at/portal/ta/visual/CMI055428
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi Anthony47 » 13/02/24 13:21

Eh, avevo capito che la pagina web mostrasse anche i dati da cui vengono creati i grafici...
Forse qualcosa si puo' estrarre, ma mi ci vuole "qualche ora di lavoro" (quindi forse "qualche giorno di calebdario" :D )
Ma i dati inclusi nel file html sono relativi a quale periodo? Se non ricordi crea e condividi un altro file.

L'ambiente Selenium l'hai predisposto per Edge o Chrome?
Avatar utente
Anthony47
Moderatore
 
Post: 19465
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 13/02/24 14:16

Ah, no, i dati sono nascosti da qualche parte, io vedo i grafici.
Vuoi dire che i dati sono quelli di quest'anno?
Io ho bisogno di tutti quelli disponibili dell'anno scorso (come nel grafico), partono da marzo.
Nel file html forse si parte dalle date di default visibili al momento dell'accesso, cioè da tre giorni fa a oggi.
Non c'è fretta, ci mancherebbe.
Lavoro in Chrome.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 14/02/24 07:56

Ho provato a scandagliare i dati nel file html e ho scoperto che sono esattamente quelli che cerco.
Riesco a riprodurre il grafico, solo la scala è diversa, ma con piccoli calcoli matematici dovrei riuscire a portare il tutto ai valori corretti.
A questo punto, Anthony, ti risparmio lavoro inutile: visto che io devo prendere i valori una tantum non è necessario elaborare una macro, tantomeno usare Selenium: ce li ho già, mi basta leggere i dati presenti in quell'elenco.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi Anthony47 » 14/02/24 09:32

Si, penso che parli dei dati all'interno dei tanti <path> su cui avevo messo le mani gia' ieri sera.

I risultato e' in questo file: https://www.dropbox.com/scl/fi/ilsjtnej ... k81mk&dl=0
Su Foglio1 la Sub FromCMItaCO crea tre serie di 2 colonne (più alcune serie spurie) che dovrebbero rappresentare, in altra scala, i tuoi dati

Era quasi pronto, lo rendo disponibile così come e' per qualsiasi uso presente o futuro
Avatar utente
Anthony47
Moderatore
 
Post: 19465
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 15/02/24 18:36

La macro si inceppa alla riga:
Set gColl = PColl(1).FindElementsByTag("g")

Mi sembra di capire che tu hai lavorato sul disco locale con il file html che ho allegato.
A me andrebbe bene anche quello: estrapolare dati dai file che ho preventivamente scaricato sul mio PC.
Ho provato a dire inDev = True e mettere la mia directory, ma non bastava.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi Anthony47 » 15/02/24 19:17

Ho provato a dire inDev = True e mettere la mia directory, ma non bastava.
Quindi la prova e' fallita anche con inDev=True? (cioe' lavorando sul file?)
Hai lavorato sul file che ho pubblicato o hai estrapolato la macro su altro file excel?

Comunque ho modificato la macro per produrre un log delle attività. Se hai voglia scarica nuovamente il file; l'ho lasciato in modalità inDev=True, quindi al momento lavora sul file. Usa il file che avevi condiviso, lancia la macro, chiudi subito il msgbox senza bisogno di fare login e dimmi che succede.
Corrobora la tua descrizione con la copia di quanto scritto dalla macro nella "finestra Immediata" del vba (per accedere alla finestra Immediata, dovrebbe bastare digitare Contr-g dalla finestra vba; oppure Menu /Visuualizza /Finestra Immediata)

Quello che trovi nel file e' stato appena ricreato dalla macro presente nel file lavorando sul file datisonde1.html

Come hai capito, con inDev=False la macro lavora invece sulla pagina web (dovrebbe lavorare)
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19465
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 19/02/24 17:32

Qualcosa succede ora, ma la macro non si completa ancora.

Nella finestra immediata leggo questo:
Codice: Seleziona tutto
@@1..file:///C:/Users/NomeUtente/Documents/Excel/Forum/datisonde1.html
...PColl.Count: 2
...gColl.Count: 125
..I=40..paColl.Count: 0
..I=48..paColl.Count: 1
..I/J=48/1..
...1.get
...UB1:894


La macro si ferma alla riga:
oArr(K + 1, 1) = CSng(my2Split(0))

dicendo errore 13 "tipo non corrispondente".
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi Anthony47 » 20/02/24 00:18

Se parliamo di importazione dal file datisonde1.html, io lo importo senza problemi; vedi https://www.dropbox.com/scl/fi/ilsjtnej ... k81mk&dl=0 e la sua Sub FromCMItaCO

Nell'ipotesi che possa essere un problema di timing ho aggiunto una wait nell'unico punto che il log creato sulla tua macchina mi suggerisce (che a me non serve, magari aiuta sul tuo pc troppo veloce)
Avatar utente
Anthony47
Moderatore
 
Post: 19465
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 20/02/24 08:27

Trovato l'inghippo: io ho il sistema di numerazione svizzero, con il decimale separato dal punto, quindi la seconda sostituzione (da "." a ",") non mi serve.
Grazie mille, ora vedo quel che riesco a fare autonomamente.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 26/02/24 12:06

Pensavo... e invece non ne sto uscendo:
il grafico è visibile e corrisponde a quello che vedo sullo schermo, ma è rovesciato. I valori poi sono tutti diversi, ho provato a fare una trasposizione lineare, ma non funziona.
Non è che nella parte di testo scartato c'è la chiave per trasformare i numeri ottenuti nei valori reali misurati?
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Ricavare dati di origine di un grafico online

Postdi Anthony47 » 26/02/24 22:54

Avevo abbozzato una elaborazione dei dati grezzi importati, che trovi qui: https://www.dropbox.com/scl/fi/c3lvjwn3 ... asifr&dl=0

Le seerie rielaborate sono in colonne J:M.
Noterai che ho provato a "raddrizzare" il grafico della Serie A usando 1000-xxxx; con un po' di pazienza si puo' arrivare a rimappare correttamente le variazioni presenti nei dati grezzi tra i valori Min e Max presentati sui grafici.
Il grafico di Serie A si trova da riga 880.

Se sono analisi su dati annui, quindi da fare non frequentemente, forse il gioco vale la candela
Avatar utente
Anthony47
Moderatore
 
Post: 19465
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ricavare dati di origine di un grafico online

Postdi wallace&gromit » 27/02/24 15:30

Eh, è più complesso del semplice 1000 - x.
Però sono riuscito a ottenere qualcosa di abbastanza buono, con una proporzione tra i valori minimi e massimi. Non è tutto perfetto ma direi che è sufficientemente approssimato per l'intento che ho io.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21


Torna a Applicazioni Office Windows


Topic correlati a "Ricavare dati di origine di un grafico online":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti