Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

IMPORTARE DATI DA WEB SU EXCEL

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

IMPORTARE DATI DA WEB SU EXCEL

Postdi Bat66 » 06/08/18 10:40

Salve a tutti, sono nuovo del forum - mi sono da poso registrato dopo aver letto alcuni post molto ma molto interessanti ma essendo alle primissime armi non ho compreso e vorrei, nel limite del possibile e con il vs supporto e professionalità, come poter iniziare a realizzare un progetto.
Vorrei importare da diversi bookmaker le quote di diversi mercati :undecided: per poter confrontare in automatico i vari eventi/segno in modo da rilevare il bookmaker con quota maggiore sull'evento esaminato.
Premetto che non so neanche da dove partire :oops: mi chiedo e vi chiedo se è possibile realizzare una cosa del genere e come poter iniziare ad operare :eeh:
Grazie 1000 a chi vorrà indirizzarmi e supportarmi e cmq complimenti a tutti del forum.
Bat66
Utente Junior
 
Post: 11
Iscritto il: 05/08/18 11:36

Sponsor
 

Re: IMPORTARE DATI DA WEB SU EXCEL

Postdi Anthony47 » 06/08/18 14:24

La prima cosa che devi riuscire a fare e' importare i dati dalle pagine web che ti interessano, e sappi che non tutte consentono la copia dei dati (qualcuna si limita alla visualizzazione).
In questa discussione e' riportata una macro in grado di fare cio': viewtopic.php?f=26&t=109912&p=645052#p645048

Vedi con questo spunto se riesci a importare dai siti di tuo interesse.

Per come confrontare i dati, la logica la conosci tu; se serve un aiuto sulla sintassi delle formule possiamo aiutare...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: IMPORTARE DATI DA WEB SU EXCEL

Postdi Bat66 » 06/08/18 15:32

Grazie Anthony per la celere risposta, ho caricato il codice in una macro ma giustamente non va perchè devo caricare la pagina di riferimento. Potresti suggerirmi cosa e come fare, ti fornisco uno dei bookmaker così magari con qualche esempio provo a a seguirti: https://www.bet365.it/#/HO/
Bat66
Utente Junior
 
Post: 11
Iscritto il: 05/08/18 11:36

Re: IMPORTARE DATI DA WEB SU EXCEL

Postdi Anthony47 » 07/08/18 01:59

All'interno della Sub Call1 c'e' l'istruzione che richiama la Sub GetTabbbSub "passandogli" l'url della pagina da importare; nello specifico:
Codice: Seleziona tutto
    Call GetTabbbSub(Range("Z1").Value) '  "Chiama" la GetTabbbSub

Questo perche' l'url, nel caso dell'utente aggittoriu, e' inserito in Z1 del foglio attivo.

Tu puoi usare lo stesso metodo (url in Z1), oppure usare altre notazioni, quali ad esempio
Codice: Seleziona tutto
    Call GetTabbbSub("https://www.bet365.it/#/HO/") '  "Chiama" la GetTabbbSub

Ti avviso pero' che a quell'indirizzo non risultano presenti tabelle con risultati (ma una specie di "home page") quindi io non ho importato nulla di utile. Se per arrivare alle vere tabelle devi prima eseguire altre operazioni sulla pagina allora potresti abilitare lo Stop presente verso l'inizio della Sub GetTabbbSub, interagire manualmente con la pagina su IE, premere F5 nel vba per continuare la macro (forse nei messaggi per aggittoriu e' presente qualche dettaglio in piu'; forse).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: IMPORTARE DATI DA WEB SU EXCEL

Postdi Bat66 » 07/08/18 09:25

Il richiamo adesso mi è chiaro, grazie, appena rientro provo - adesso resta da capire come trovare le tabelle da importare dalla pagina del sito. :(
Help!!! :(
Bat66
Utente Junior
 
Post: 11
Iscritto il: 05/08/18 11:36

Re: IMPORTARE DATI DA WEB SU EXCEL

Postdi Bat66 » 07/08/18 21:20

Bat66 ha scritto:Il richiamo adesso mi è chiaro, grazie, appena rientro provo - adesso resta da capire come trovare le tabelle da importare dalla pagina del sito. :(
Help!!! :(

Bene credevo di aver capito almeno la sintassi per richiamare la pagina ma nada :undecided: :oops: :eeh:
Bat66
Utente Junior
 
Post: 11
Iscritto il: 05/08/18 11:36

Re: IMPORTARE DATI DA WEB SU EXCEL

Postdi Anthony47 » 08/08/18 01:50

Quando esegui ad esempio l'istruzione
Codice: Seleziona tutto
    Call GetTabbbSub("http://finanza-mercati.ilsole24ore.com/azioni/borsa-italiana/listino-completo/listino-completo.php?ID=2_2_11&livello1ID=202")
la GetTabbbSub importera' sul foglio corrente, azzerandolo preventivamente, il contenuto dei dati di borsa delle societa' che cominciano con la A, prelevandoli dalla pagina web de IlSole24Ore

Se tu hai un altro indirizzo che espone dati tabellari, puoi richiamare la GetTabbbSub allo stesso modo e popolare il foglio.
Questo e' quanto fa la GetTabbbSub.

Se mi dici cosa hai provato a fare, come hai provato a farlo, che cosa hai ottenuto e che cosa invece ti aspettavi allora potrei provare a essere piu' utile.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: IMPORTARE DATI DA WEB SU EXCEL

Postdi Bat66 » 08/08/18 08:05

Ciao Anthony, adesso ti farò ridere, ho incollato l'intero codice in un modulo macro :( per cercare di vedere il comportamento:
Poi ho inserito al posto di z1 quel sito che ti ho scritto nel post precedente, sempre per capire come e cosa scaricava ma niente :(
Codice: Seleziona tutto
Sub Call1()
    Sheets("Foglio3").Select            '<<< Il foglio su cui si fara' l'importazione
    Range("A:X").ClearContents          'NB: Il fofglio SARA' AZZERATO senza preavviso
    Range("A:X").NumberFormat = "@"     'Colonne in formato Testo
    Call GetTabbbSub(Range("Z1").Value) '  "Chiama" la GetTabbbSub
    Range("A:X").WrapText = False
End Sub

Sub GetTabbbSub(ByVal myURL As String)
'Va Chiamata passandogli l'URL da leggere
Set IE = CreateObject("InternetExplorer.Application")
'
With IE
    .navigate myURL
    .Visible = True
'Stop                                  'Vedi TESTO
    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 + 1 Or Timer < myStart Then Exit Do
Loop
'Scrive le tabelle SUL FOGLIO ATTIVO
Set myColl = IE.document.getElementsByTagName("TABLE")
For Each myItm In myColl
    Cells(I + 1, 1) = "Table# " & ti + 1
    ti = ti + 1: I = I + 1
    For Each trtr In myItm.Rows
        For Each tDtD In trtr.Cells
            Cells(I + 1, j + 1) = tDtD.innerText
            Cells(I + 1, j + 1).HorizontalAlignment = xlLeft
            'Legge hyperlink:
                If InStr(1, tDtD.innerHTML, "href", vbTextCompare) > 0 Then
                DoEvents: DoEvents
                    ActiveSheet.Hyperlinks.Add anchor:=Cells(I + 1, j + 1), _
                       Address:=tDtD.getElementsByTagName("a")(0).href
                End If
            If j > 0 And Len(Cells(I + 1, j + 1)) > 2 Then cz = 1
            j = j + 1
        Next tDtD
        'Allinea al centro se e' una Intestazione:
        If trtr.classname = "js-tournament" Then
            Cells(I + 1, 1).HorizontalAlignment = xlCenter
        End If
        I = I + 1: j = 0
DoEvents
    Next trtr
I = I + 1
Next myItm
'
'Chiusura IE
IE.Quit
Set IE = Nothing
End Sub
Bat66
Utente Junior
 
Post: 11
Iscritto il: 05/08/18 11:36

Re: IMPORTARE DATI DA WEB SU EXCEL

Postdi Anthony47 » 08/08/18 23:30

Ciao Anthony, adesso ti farò ridere, ho incollato l'intero codice in un modulo macro :( per cercare di vedere il comportamento:
Poi ho inserito al posto di z1 quel sito che ti ho scritto nel post precedente, sempre per capire come e cosa scaricava ma niente :(
Hai fatto correttamente quel che dovevi fare...
Avevamo pero' gia' scoperto (recentemente) che bet365 non presenta dati in tabella (es vedi viewtopic.php?f=26&t=100441&p=644940#p644957), quindi l'approccio proposto non porta a risultati.

Non e' impossibile, conoscendo la pagina da importare e come raggiungerla, creare una macro specifica; tuttavia e' un gioco di tempo e di pazienza, merce rara in questo periodo.

Pertanto il mio suggerimento e' che trovi siti che invece usano tabelle, per i quali potrai utilizzare l'approccio proposto.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "IMPORTARE DATI DA WEB SU EXCEL":


Chi c’è in linea

Visitano il forum: Nessuno e 50 ospiti