Condividi:        

Scaricare dati da nowgoal

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

Scaricare dati da nowgoal

Postdi ilfuocoblu » 26/12/23 11:50

Buongiorno e buone feste a tutti!

Ho bisogno del vostro aiuto:
Fino a qualche tempo fa potevo scaricare i dati di calcio da nowgoal, ma pare abbiano cambiato qualcosa e non riesco più.
Adesso il sito è: https://live.nowgoal14.com/

Immagine

Ora, quando si clicca su una partita si apre una pagina così:

Immagine

L'indirizzo di ogni pagina delle partite contiene un ID identificativo della partita:

Immagine

L'ID è proprio quello che mi serve e che non riesco più a scaricarmi, mi servirebbe quindi una macro che dal link iniziale mi possa scaricare su excel gli ID di ogni partita presente, magari anche con il relativo orario se possibile.
Qualcuno può darmi una mano?
Grazie
ilfuocoblu
Utente Junior
 
Post: 24
Iscritto il: 03/02/15 20:36

Sponsor
 

Re: Scaricare dati da nowgoal

Postdi Anthony47 » 26/12/23 19:39

Non sapendo come facevi prima non so perche' ora non funziona piu'
Partendo da zero, io lo farei con l'ambiente "Selenium"; quindi installa sul tuo pc tale ambiente seguendo le istruzioni che trovi qui: viewtopic.php?f=26&t=112225

Poi inserisci in un modulo standard del vba la seguente macro:
Codice: Seleziona tutto
Sub NowGoall()
Dim myT As Object
Dim trColl As Object, tdColl As Object, splTTer As String
Dim I As Long, J As Long, mySplit, myTim As Single
Dim WPage As Object
'
myTim = Timer
'Crea Driver:
If WPage Is Nothing Then
'    Set WPage = CreateObject("Selenium.EdgeDriver")      'via Edge
    Set WPage = CreateObject("Selenium.CHRomedriver")    'via Chrome
End If
'
Sheets("Foglio1").Select                '<<< Il foglio per i risultati
Range("A:E").ClearContents              '
'
myTim = Timer
myurl = "https://live.nowgoal14.com/"
WPage.Get myurl
'
Set myT = WPage.FindElementById("table_live")
If Not myT Is Nothing Then
    Set trColl = myT.FindElementsByTag("tr")
    For I = 1 To trColl.Count
        aodds = trColl(I).Attribute("odds")
        If Len(aodds) > 0 And trColl(I).Attribute("style") <> "display: none;" Then
            Debug.Print I
            Set tdColl = trColl(I).FindElementsByTag("td")
                For J = 1 To tdColl.Count
                    If tdColl(J).Attribute("name") = "timeData" Then
                        Debug.Print , tdColl(J).Attribute("onclick")
                        If InStr(1, tdColl(J).Attribute("onclick"), "detail(", vbTextCompare) > 0 Then
                            splTTer = "detail("
                        ElseIf InStr(1, tdColl(J).Attribute("onclick"), "analysis(", vbTextCompare) > 0 Then
                            splTTer = "analysis("
                        Else
                            splTTer = ""
                        End If
                        If splTTer <> "" Then
                            mySplit = Split(tdColl(J).Attribute("onclick"), splTTer, , vbTextCompare)
                            mySplit = Split(Replace(mySplit(1), Chr(34), "", , , vbTextCompare), ",", , vbTextCompare)
                            Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Resize(1, 3) = mySplit
                            Cells(Rows.Count, "A").End(xlUp).Offset(0, 3).Value = tdColl(J).Attribute("data-t")
                        End If
                        Exit For
                    End If
                Next J
        End If
        DoEvents
    Next I
End If
Debug.Print Format(Timer - myTim, "0.0")
SQuit:
MsgBox ("Completato...")
WPage.Quit
Set WPage = Nothing
End Sub

La riga marcata <<< va personalizzata secondo il commento
Poi lancia la Sub NowGoall; ti creerà nel foglio indicato l'elenco richiesto, usando il browser Chrome

Fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19430
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Scaricare dati da nowgoal

Postdi ilfuocoblu » 27/12/23 02:35

Anthony47 ha scritto:Non sapendo come facevi prima non so perche' ora non funziona piu'
Partendo da zero, io lo farei con l'ambiente "Selenium"; quindi installa sul tuo pc tale ambiente seguendo le istruzioni che trovi qui: viewtopic.php?f=26&t=112225

Poi inserisci in un modulo standard del vba la seguente macro:
Codice: Seleziona tutto
Sub NowGoall()
Dim myT As Object
Dim trColl As Object, tdColl As Object, splTTer As String
Dim I As Long, J As Long, mySplit, myTim As Single
Dim WPage As Object
'
myTim = Timer
'Crea Driver:
If WPage Is Nothing Then
'    Set WPage = CreateObject("Selenium.EdgeDriver")      'via Edge
    Set WPage = CreateObject("Selenium.CHRomedriver")    'via Chrome
End If
'
Sheets("Foglio1").Select                '<<< Il foglio per i risultati
Range("A:E").ClearContents              '
'
myTim = Timer
myurl = "https://live.nowgoal14.com/"
WPage.Get myurl
'
Set myT = WPage.FindElementById("table_live")
If Not myT Is Nothing Then
    Set trColl = myT.FindElementsByTag("tr")
    For I = 1 To trColl.Count
        aodds = trColl(I).Attribute("odds")
        If Len(aodds) > 0 And trColl(I).Attribute("style") <> "display: none;" Then
            Debug.Print I
            Set tdColl = trColl(I).FindElementsByTag("td")
                For J = 1 To tdColl.Count
                    If tdColl(J).Attribute("name") = "timeData" Then
                        Debug.Print , tdColl(J).Attribute("onclick")
                        If InStr(1, tdColl(J).Attribute("onclick"), "detail(", vbTextCompare) > 0 Then
                            splTTer = "detail("
                        ElseIf InStr(1, tdColl(J).Attribute("onclick"), "analysis(", vbTextCompare) > 0 Then
                            splTTer = "analysis("
                        Else
                            splTTer = ""
                        End If
                        If splTTer <> "" Then
                            mySplit = Split(tdColl(J).Attribute("onclick"), splTTer, , vbTextCompare)
                            mySplit = Split(Replace(mySplit(1), Chr(34), "", , , vbTextCompare), ",", , vbTextCompare)
                            Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Resize(1, 3) = mySplit
                            Cells(Rows.Count, "A").End(xlUp).Offset(0, 3).Value = tdColl(J).Attribute("data-t")
                        End If
                        Exit For
                    End If
                Next J
        End If
        DoEvents
    Next I
End If
Debug.Print Format(Timer - myTim, "0.0")
SQuit:
MsgBox ("Completato...")
WPage.Quit
Set WPage = Nothing
End Sub

La riga marcata <<< va personalizzata secondo il commento
Poi lancia la Sub NowGoall; ti creerà nel foglio indicato l'elenco richiesto, usando il browser Chrome

Fai sapere...


Ciao Anthony e grazie per il tuo intervento.
Ho seguito la procedura per creare l'ambiente selenium ma mi continua a dare sempre questo errore:
Immagine

Dove sbaglio?
ilfuocoblu
Utente Junior
 
Post: 24
Iscritto il: 03/02/15 20:36

Re: Scaricare dati da nowgoal

Postdi Anthony47 » 27/12/23 10:31

Non hai detto quale messaggio di errore compare; dando per scontato che hai Chrome e che hai seguito correttamente le istruzioni per installare Selenium Basic e i driver, resta da verificare se il tuo caso e' da ricondurre a Net Framework di cui si parla nel secondo messaggio della discussione relativa all'installazione Selenium, vedi viewtopic.php?f=26&t=112225#p661017
Avatar utente
Anthony47
Moderatore
 
Post: 19430
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Scaricare dati da nowgoal

Postdi ilfuocoblu » 27/12/23 16:22

Anthony47 ha scritto:Non hai detto quale messaggio di errore compare; dando per scontato che hai Chrome e che hai seguito correttamente le istruzioni per installare Selenium Basic e i driver, resta da verificare se il tuo caso e' da ricondurre a Net Framework di cui si parla nel secondo messaggio della discussione relativa all'installazione Selenium, vedi viewtopic.php?f=26&t=112225#p661017


Si, ho installato chrome e seguito attentamente la procedura. L'errore era di automazione, risolto col net framework 3.5

Il codice da te postato fa esattamente quello che mi serve
Immagine

Grazie sempre per la tua disponibilità!
ilfuocoblu
Utente Junior
 
Post: 24
Iscritto il: 03/02/15 20:36


Torna a Applicazioni Office Windows


Topic correlati a "Scaricare dati da nowgoal":


Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti