Boa noite, de antemão saudo a todos e agradeço toda ajuda que sempre recebo aqui no fórum.
Bem, estou precisando coletar informações em um API do cartola, nela encontram dados de jogadores dispostos como na imagem anexo. Porém, eu preciso buscar dentro da api as informações e acomodá-las na planilha cada dado em seu devido lugar, para que apos cada rodada eu possa atualizar os dados direto da API...
Testei alguns códigos, mas em nenhum obtive êxito. Resolvi pedir ajuda.
Link API https://api.cartolafc.globo.com/atletas/mercado
Os dados vem distribuidos dessa forma...
A tabela pra onde preciso mandar os dados está anexada, mas a imagem é essa...
Certo de todo empenho e ajuda que sempre recebo aqui, já agradeço.
Bom dia, Ecks
Esses dados já estarão armazenados num arquivo txt (API_MERCADO.txt) ou vc extrai naquele instante diretamente do site via código?
Boa noite Edson, os dados são coletados diretamente do site via código...
Cara, isso ai é estrutura de JSON, é só você usar o "Obter dados" e selecionar o tipo JSON, ai seleciona o arquivo e importa pra planilha.
Se a resposta lhe foi útil, clique no joinha!
Mesmo sem solução, resolvi fechar o tópico..
aagradeço a todos a ajuda,.
Boa noite Edson, os dados são coletados diretamente do site via código...
Mesmo sem solução, resolvi fechar o tópico..aagradeço a todos a ajuda,.
Calma, ecks, não fez nem 24 horas que vc respondeu ao que te perguntei e já está trancando o tópico? Não é tão simples como vc imagina...
Deu um considerável trabalho pra fazer as distribuições dos Scouts (entre outros).
Reabra o tópico e dê uma olhada no trabalho feito se é por essa via mesmo. Obs.: alterei um pouco o layout das colunas da sua planilha pra deixar conforme a ordem e eliminar células mescladas.
Perdo-me então...
Agora que vi o tópico aberto.. analisei a planilha.. ficou extremamente perfeito...
obrigado por ter reaberto o tópico.. nunca mais fecho um... rs
agradeço novamente.
@edsonbr Bom dia. A planilha não está extraindo mais...ela extrai um único jogador e da um erro. O que pode ser? poderia me ajudar. Obrigado
@macedorafa a estrutura do arquivo JSON pode ter modificado, anexe essa planilha que usa para analise.
@macedorafa, bom dia.
Eu não tenho mais essa planilha e na reestruturação do fórum pelo jeito ela deve ter sido abatida. Se vc tem ela salva, gentileza anexar ela aqui novamente e explicar exatamente o que vc quer extrair, mesmo que manualmente.
Leve em conta que não conheço nada do game Cartola, mas posso ajudar na extração de informações. Portanto, especifique bem objetiva e detalhadamente quais são as informações.
Bom dia, @edsonbr. Segue a planilha em anexo. A planilha ano passado funcionava perfeitamente. Eu clicava em extrair e ela já me trazia todos os dados necessários. Porém esse ano, ao clicar no botão extrair, ela só puxa uma linha e da um erro. A cada vez que eu clico em extrair ela puxa uma linha nova. Antes ela puxava tudo de vez. O problema só e esse. Quanto aos dados, são esses mesmos que eu quero. Obrigado
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
Segue o arquivo, extraia antes de importa pro projeto.
Segue o arquivo, extraia antes de importa pro projeto.
Não consigo extrair o arquivo do rar. Obrigado pela ajuda