O @edsonbr fez um excelente trabalho usando expressões regulares pra tratar esse arquivo.
A forma mais simples é usando uma função pra tratar o JSON como objeto, a melhor função pra isso esta em https://github.com/VBA-tools/VBA-JSON . Vou anexar o arquivo aqui também, importe o arquivo/modulo pro seu projeto.
Não fiz apenas a parte pra extrair os "SCOUTS", precisaria analisar com calma este caso. Nada impede você se pesquisar sobre isso na WEB também.
Um exemplo de código pra extrair os demais dados seria isso:
Sub ExtrairJson()
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", "https://api.cartolafc.globo.com/atletas/mercado", False
.send: .WaitForResponse 10
txtSite = .responsetext
End With
Dim jsonObject As Object
Set jsonObject = JsonConverter.ParseJson(txtSite)
i = 3
For Each item In jsonObject("atletas")
Planilha1.Cells(i, "A") = item("nome")
Planilha1.Cells(i, "B") = item("slug")
Planilha1.Cells(i, "C") = item("apelido")
Planilha1.Cells(i, "D") = item("foto")
Planilha1.Cells(i, "E") = item("atleta_id")
Planilha1.Cells(i, "F") = item("rodada_id")
Planilha1.Cells(i, "G") = item("clube_id")
Planilha1.Cells(i, "H") = item("posicao_id")
Planilha1.Cells(i, "I") = item("status_id")
Planilha1.Cells(i, "J") = item("pontos_num")
Planilha1.Cells(i, "K") = item("preco_num")
Planilha1.Cells(i, "L") = item("variacao_num")
Planilha1.Cells(i, "M") = item("media_num")
Planilha1.Cells(i, "N") = item("jogos_num")
i = i + 1
Next
End Sub
Postado : 17/09/2020 2:34 pm