Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Importare dati da un sito web!

Ultimo Aggiornamento: 03/11/2020 08:19
Post: 19
Registrato il: 12/11/2019
Età: 28
Utente Junior
2003
OFFLINE
27/10/2020 17:14

Importare dati da un sito web!
Salve, mi piacerebbe capire in modo abbastanza dettagliato come posso, da un sito web, importare dei dato in un file excel.

Vi spiego nel dettaglio:
Vorrei riportare, sotto forma di testo e numeri, le partite di calcio della Serie A della scorsa stagione.
https://www.diretta.it/serie-a-2019-2020/risultati/

Mi piacerebbe che le partite vengano messe ordinate per giornate.

Vi allego un esempio di come vorrei riportare i dati.



Post: 6.129
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
29/10/2020 10:04

Ciao Andrea, ci sono 2 problemi, il sito non riporta un buon layout per i dati per l'importazione, oltre che non riporta tutte le giornate, ma solo una parte e si deve cliccare sulla pagina per avere le altre giornate.

ma pure la tua versione Excel che è un poco datata e non permette alcune facilitazioni di importazione.

ora vedo cosa posso fare, a te interessa soltanto l'elenco delle giornate con i vari punteggi.

di quale anno in particolare.

Ciao BY Sal (8-D
[Modificato da by sal 29/10/2020 10:04]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 38
Registrato il: 13/08/2015
Città: COMO
Età: 60
Utente Junior
excel 2016
OFFLINE
02/11/2020 01:15

Ciao e un saluto a bySal,
il sito che hai indicato non può essere gestito con le Query né con le PowerQuery, inoltre non supporta Internet Explorer, pertanto bisogna usare altri browser, per esempio Chrome o Edge; usando questi browser bisogna utilizzare il Selenium Basic oltre che i Drivers del WebBrowser.
Ottenendo quanto sopra il codice che ti scarica i dati divisi per giornata proprio come li vedi sul sito è il seguente

Sub diretta()
    
    Dim driver As New ChromeDriver
    Dim divTag As WebElements
    Dim divElement As WebElement
    Dim divEvent As WebElement
    Dim r As Long
    
    Cells.Clear
    
    driver.Start "Chrome", ""
    driver.Get "https://www.diretta.it/serie-a-2019-2020/risultati/"
    
    Set divEvent = driver.FindElementById("live-table", timeout:=4000).FindElementByClass("event")
    Set divTag = divEvent.FindElementsByTag("div")
    
    For Each divElement In divTag
        DoEvents
        If divElement.Attribute("class") Like "*event__titleBox*" Then
            r = r + 1
            Cells(r, 1) = Replace(divElement.Text, Chr(10), " ")
            Cells(r, 1).Font.Bold = True
        ElseIf divElement.Attribute("class") Like "*event__round event__round--static*" Then
            r = r + 2
            Cells(r, 1) = divElement.Text
            Cells(r, 1).Font.Bold = True
        ElseIf divElement.Attribute("class") Like "*event__participant event__participant--home*" Then
            r = r + 1
            Cells(r, 1) = divElement.Text
        ElseIf divElement.Attribute("class") Like "*event__scores fontBold*" Then
            Cells(r, 2) = "'" & Replace(divElement.Text, Chr(10), " ")
        ElseIf divElement.Attribute("class") Like "*event__participant event__participant--away*" Then
            Cells(r, 3) = divElement.Text
        End If
    Next
    
    driver.Close
    driver.Quit
 
    Set divElement = Nothing
    Set divEvent = Nothing
    Set divTag = Nothing
    Set driver = Nothing
  
End Sub
[Modificato da ges64 02/11/2020 01:16]
02/11/2020 14:48

@ges64
Scusa l'ignoranza, mi sembrava che "da Web" esistono diverse problematiche.
Ho letto diversi "post" che dicevano di "fare alcune cose"? + alcuni Link "non idonei"?
Ti dispiace spiegare (per me & altri), come fai importare i dati (passo/passo, spiegando i vari passaggi nel VBA)?
Devo entrare nel codice "HTML" con quale browser?
Grazie mille
[Modificato da ABCDEF@Excel 02/11/2020 14:53]
Post: 39
Registrato il: 13/08/2015
Città: COMO
Età: 60
Utente Junior
excel 2016
OFFLINE
02/11/2020 19:46

Ciao ABCDEF@Excel,
si per scaricare i dati dai siti bisogna conoscere bene il linguaggio HTML, bisogna col tasto destro del mouse cliccare nel browser e ispezionare il codice.

Il codice HTML nella sua struttura ad albero contiene tutte le informazioni per estrarre i vari dati.

Ultimanante c'è anche nell'HTML tanto codice Javascript e quindi bisogna conoscere anche questo linguaggio.

Col vba si tirano fuori i vari elementi (Classi, TagName, ecc.) ma spiegarlo se non si conoscono le basi non serve a nulla.

Se si conoscono bene le tecniche tutto quello che è pubblicato può essere disponibile.

[Modificato da ges64 02/11/2020 19:47]
03/11/2020 00:57

Ciao ges64
Conosco un pò HTML, però non sono molto pratico.
Per quanto sappia "visualizzare il codice, OK" con Edge, Crome e Mozilla. Però, presumo che ci siano modi differenti per visualizzare le "tabelle" che ci fanno vedere a monitor.
Se dici che bisogna installare un'altro Brouser (lo farò), ma Tu sapresti spiegarmi come fare (passo-passo, come leggere tale codice) e poi riscriverlo per altri siti? Grazie mille
Post: 40
Registrato il: 13/08/2015
Città: COMO
Età: 60
Utente Junior
excel 2016
OFFLINE
03/11/2020 08:19

C'è una guida molto chiara e dettagliata per imparare i passagi iniziali QUI
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 11:51. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com