Página 1 de 1

Método GetVBA

Enviado: 19 Out 2020 às 19:58
por storyon
Boa noite!
Estou montando um script WebScraping VBA com Excel, com a ajuda do google, mas não sei como continuar.
O script faz o seguinte:

Entra em um site de stream de corridas e busca dados da volta. Todos esses dados ficam em uma única célula.
Como é cumulativo, preciso que os dados de posição, competidor (ou equipe), tempo de volta, tempo total, estejam dispostas, cada dado em uma célula.
Gostaria de uma ajuda no script abaixo:

Obrigado pela atenção.

Re: Web Scraping VBA + Excel

Enviado: 19 Out 2020 às 20:17
por storyon
Segue o arquivo de exemplo em anexo.
Observe que os dados aparecem todos em 1 única célula. Preciso que fiquem cada dado em uma célula.

Re: Web Scraping VBA + Excel

Enviado: 19 Out 2020 às 20:58
por Raygsson
Fiz um pequeno ajuste neste código, tente desta forma:
Código: Selecionar todos
Sub Dados_Web()

Dim html As New HTMLDocument
Set request = CreateObject("MSXML2.XMLHTTP")
request.Open "GET", "https://speedhive.mylaps.com/LiveTiming/SNNRNRVR-2147483653/Sessions/SNNRNRVR-1073741830", False
request.send
html.body.innerHTML = request.responseText

lin = 1
For Item = 1 To 5
        col = 1
        For Each dados In html.getElementsByClassName("row-result result-" & Item & "-row")(0).getElementsByTagName("div")
            Cells(lin, col) = dados.innerText
            col = col + 1
        Next
lin = lin + 1
Next

End Sub

Re: Web Scraping VBA + Excel

Enviado: 20 Out 2020 às 11:21
por storyon
Meu amigo, bom dia!
Consegui compilar aqui e deu certo.
Obrigado pela ajuda.

Re: Web Scraping VBA + Excel

Enviado: 22 Out 2020 às 00:00
por storyon
Usando a mesma lógica do script acima, tentei depurar o erro, mas não consegui. Como eu poderia seguir uma linha de raciocínio, para o script abaixo, para resgatar apenas os valores (div class="racerRowValue bestLapValue") excluindo (ignorando) os rótulos (div class="racerRowLabel bestLapLabel")?
Obrigado.