Ciao a tutti,
sto cercando di estrarre dei dati da questa pagina web https://www.betexplorer.com/results/soccer/?year=2021&month=06&day=01
In pratica voglio estrarre le date dei match fino alla fine della stringa Text1 determinata dalle variabili InizioEstrazione e FineEstrazione.. Il problema é che quando lancio la macro va in loop ripetendo le righe già trovate
Questo il codice:
Public Sub Scraping()
url1 = "https://www.betexplorer.com/results/soccer/?year=2021&month=06&day=01"
Set http1 = CreateObject("MSXML2.XMLHTTP")
http1.Open "POST", url1, False
http1.send
While http1.READYSTATE <> 4 'Set 2019 - Aggiunta attesa caricamento pagina
DoEvents
Wend
Text1 = http1.responseText
InizioEstrazione = InStr(1, Text1, "
")
LunghezzaDataMatch = 1
ContatoreRiga = 0
PosizioneCarattereInizioMatch = 1
PosizioneCarattereFineMatch = 1
For Contatore = InizioEstrazione To FineEstrazione
PosizioneInizioDataMatch = InStr(PosizioneInizioDataMatch + LunghezzaDataMatch, Text1, "tr data-dt")
PosizioneFineDataMatch = InStr(PosizioneFineDataMatch + LunghezzaDataMatch, Text1, "data-def")
If (PosizioneFineDataMatch + LunghezzaDataMatch) > FineEstrazione Then Exit For
If PosizioneInizioDataMatch > 0 And PosizioneFineDataMatch > 0 Then
ContatoreRiga = ContatoreRiga + 1
LunghezzaDataMatch = Len(Mid(Text1, PosizioneInizioDataMatch, PosizioneFineDataMatch - PosizioneInizioDataMatch))
Cells(ContatoreRiga, 1) = Mid(Text1, PosizioneInizioDataMatch, PosizioneFineDataMatch - PosizioneInizioDataMatch)
Cells(ContatoreRiga, 2) = PosizioneInizioDataMatch
Cells(ContatoreRiga, 3) = PosizioneFineDataMatch
End If
Next Contatore
End Sub
In allegato il file Excel con la macro.
Qualcuno mi può aiutare?
Grazie 😀
|
| | Post: 6.399 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
09/06/2021 18:52 | |
Ciao io ricavo questi dati che sono diversi dai tuoi
forse non capisco cosa estrarre oppure la pagina
Ciao By sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 5 | Registrato il: 27/09/2015
| Età: 45 | Utente Junior | 2007 | | OFFLINE | |
|
09/06/2021 19:25 | |
Ciao Sal,
quello che esce quando esegui la macro é questo:
Il mio problema è che come si vede dall'immagine la macro estrae i dati correttamente fino alla riga 513 ma dopo va in loop e li ripete.. in pratica penso che il problema risieda nel ciclo for next..
Per curiosità come hai fatto a estrarre i dati nell'immagine ? hai usato una query ? |
| | Post: 6.401 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
10/06/2021 08:30 | |
Ciao Ron ti ho inserito un elemento di uscita quando sono finite le estrazioni, però controlla con altre date perche può darsi che abbia sbagliato.
in effetti il tuo ciclo si ripete per ben 657 volte, perche non tiene conto della fine delle estrazioni ma di un altro parametro che non ho voluto cambiare non sapendo a fondo il funzionamento, e se quel parametro sia importante.
anche perche dalla mia estrazione i tuoi dati non li trovo da nessuna parte, anche nella pagina web non li vedo da nessuna parte.
si la mia è una query che estrae i dati dalla pagina web, ho usato PowerQuery che non so se è disponibile nella tua versione 2007, credo che sia disponibile dalla 2010 in poi, non ricordo bene.
Ciao By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 6.403 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
10/06/2021 08:35 | |
Hoops manca il file
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
|
|