Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

estrarre dati da siti internet ma.....

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

estrarre dati da siti internet ma.....

Postdi templare77 » 18/04/16 06:41

Buon giorno,
Sono nuovo del forum. Excel è la mia come la vostra passione! Ho letto le discussioni riguardanti l'estrazione di dati dalle tabelle di pagine internet. La macro funziona egregiamente! Però vorrei sapere come estrarre informazioni da immagini presenti nella pagina. Mi spiego subito....accanto al testo interessato concernente le partite di calcio (punteggi, gol, pareggi eccc), in alcuni siti vi sono delle immaginette quadrate, che riportano lo stato di forma delle squadre.... La macro non estrae nulla quando incontra queste immagini. Vorrei sapere come poter estrapolare informazioni da queste immagini. Grazie a tutti!
templare77
Utente Senior
 
Post: 100
Iscritto il: 18/04/16 06:26

Sponsor
 

Re: estrarre dati da siti internet ma.....

Postdi Anthony47 » 18/04/16 12:45

Ciao templare77, benvenuto nel forum.
Con questo livello di dettaglio prova ad appiccicare la vetrofania di PadrePio allo schermo del pc e vedi se funziona :diavolo:
Se non funziona, oltre a dire quale tecnica (tra le N presentate) stai usando, dovresti dare almeno l'url del sito di cui si parla, poi forse qualche suggerimento verra' fuori.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: estrarre dati da siti internet ma.....

Postdi templare77 » 18/04/16 18:37

Pardon....il sito è betexplorer.com
Basta cliccare su Soccer ed andare ad esempio su serie A italiana.
Accanto alle squadre menzionate in classifica, troverai delle immaginette quadrate con "W" per vinte, "D" per pareggio, "L" per perse. Grazie! Per l'immagine di Padre Pio mi sto organizzando :-p
Ultima modifica di templare77 su 18/04/16 18:41, modificato 1 volte in totale.
templare77
Utente Senior
 
Post: 100
Iscritto il: 18/04/16 06:26

Re: estrarre dati da siti internet ma.....

Postdi templare77 » 18/04/16 18:39

Ps. La macro da me utilizzata è quella che estrae tutte le tabelle di una pagina col triplo ciclo For
templare77
Utente Senior
 
Post: 100
Iscritto il: 18/04/16 06:26

Re: estrarre dati da siti internet ma.....

Postdi templare77 » 18/04/16 18:57

Ps. La macro da me utilizzata è quella che estrae tutte le tabelle di una pagina col triplo ciclo For

Sub GetWebTab()
'
myURL = "//data.nowgoal.com/1x2/index.htm" '<<<<
Set IE = CreateObject("InternetExplorer.Application")
'
With IE
.navigate myURL
.Visible = True
Do While .Busy: DoEvents: Loop 'Attesa not busy
Do While .readyState <> 4: DoEvents: Loop 'Attesa documento
End With
'
myStart = Timer 'attesa addizionale
Do
DoEvents
If Timer > myStart + 2 Or Timer < myStart Then Exit Do
Loop

'Leggi le tabelle, su un nuovo foglio
Worksheets.Add
'Application.Goto (Sheets("Foglio1").Range("A1"))
'Cells.Clear
Set myColl = IE.document.getElementsByTagName("TABLE")
For Each myItm In myColl
For Each trtr In myItm.Rows
For Each tdtd In trtr.Cells
Cells(I + 1, J + 1) = tdtd.innerText
J = J + 1
Next tdtd
I = I + 1: J = 0
Next trtr
I = I + 1
Next myItm

Stop 'Vedi testo

'Chiusura IE
IE.Quit
Set IE = Nothing
End Sub
templare77
Utente Senior
 
Post: 100
Iscritto il: 18/04/16 06:26

Re: estrarre dati da siti internet ma.....

Postdi Anthony47 » 19/04/16 12:37

In questi casi va guardato il codice html sorgente e regolarsi di conseguenza.
A scopo puramente ludico ho sviluppato questa variante, che importa quel tipo di dati:
Codice: Seleziona tutto
For Each myItm In myColl
    For Each trtr In myItm.Rows
        For Each tdtd In trtr.Cells
            If tdtd.classname = "form col_form" Then
                Set my2coll = tdtd.getelementsbyTagName("a")
                If my2coll.Length > 0 Then
                myout = "  "
                    For Each pippo In my2coll
                        aaaa = pippo.classname
                        If InStr(1, aaaa, "form-s", vbTextCompare) > 0 Then myout = "?-"
                        If InStr(1, aaaa, "form-l", vbTextCompare) > 0 Then myout = myout & "L-"
                        If InStr(1, aaaa, "form-w", vbTextCompare) > 0 Then myout = myout & "W-"
                        If InStr(1, aaaa, "form-d", vbTextCompare) > 0 Then myout = myout & "D-"
                    Next pippo
                    myout = Trim(Left(myout, Len(myout) - 1))
                    Cells(I + 1, J + 1) = myout
                    J = J + 1
                End If
            Else
                Cells(I + 1, J + 1) = tdtd.innerText
                J = J + 1
            End If
        Next tdtd
        I = I + 1: J = 0
    Next trtr
I = I + 1
Next myItm
Questo codice sostituisce quello della macro standard, da For Each myItm In myColl a Next myItm

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: estrarre dati da siti internet ma.....

Postdi templare77 » 19/04/16 23:11

Mamma mia...funziona alla grande! Non ci sarei mai arrivato da solo....di Excel ne mastico un pò, ma questo tipo di operazioni (estrazioni dati, utilizzo di proprietà sconosciute), mi sono completamente oscure....dove potrei trovare una guida o dei tutorial per erudirmi un pò? Grazie ancora Anthony!!!
templare77
Utente Senior
 
Post: 100
Iscritto il: 18/04/16 06:26

Re: estrarre dati da siti internet ma.....

Postdi Anthony47 » 20/04/16 02:54

Ho usato la Microsoft Html Object Library, che corrisponde nel vba alla voce MSHTML (mshtml.tlb).

Dopo che ne hai impostato il riferimento nel vbe (Menu /Strumenti /Riferimenti) puoi avere una overview del suo contenuto (oggetti, membri, proprieta', metodi) tramite il visualizzatore di oggetti (Menu /Visualizza /Visualizzatore oggetti), selezionando nell' elenco a discesa la voce MSHTML.

Per la loro documentazione io parto da qui: http://msdn.microsoft.com/en-us/library ... 85%29.aspx, voci MSHTML Reference e WebBrowser Control. (MSDN Library- Web Development- Internet Explorer Development- Hosting and Reuse)

E' una documentazione un po' piu' criptica rispetto a quella che troviamo nell' help on line, ma con un po' di prove si riesce a cavare qualcosa scavando nel codice html.

Visto che di Excel "ne mastichi" allora ci aspettiamo di vederti presto a contribuire a risolvere i quesiti degli utenti meno esperti; giusto?

Ciao!
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: estrarre dati da siti internet ma.....

Postdi templare77 » 20/04/16 08:47

Vedrò di fare il possibile!!! :-D
Grazie ancora!!!
templare77
Utente Senior
 
Post: 100
Iscritto il: 18/04/16 06:26


Torna a Applicazioni Office Windows


Topic correlati a "estrarre dati da siti internet ma.....":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti

cron