Coletar Informações...
 
Notifications
Clear all

Coletar Informações em API do Cartola

26 Posts
5 Usuários
4 Reactions
8,641 Visualizações
Felipe Ecks
(@ecks)
Posts: 48
Trusted Member
Topic starter
 

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.

 
Postado : 05/05/2018 1:10 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

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?

 
Postado : 07/05/2018 7:28 am
Felipe Ecks
(@ecks)
Posts: 48
Trusted Member
Topic starter
 

Boa noite Edson, os dados são coletados diretamente do site via código...

 
Postado : 07/05/2018 6:48 pm
(@skulden)
Posts: 170
Estimable Member
 

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!

 
Postado : 08/05/2018 8:10 am
Felipe Ecks
(@ecks)
Posts: 48
Trusted Member
Topic starter
 

Mesmo sem solução, resolvi fechar o tópico..

aagradeço a todos a ajuda,.

 
Postado : 08/05/2018 3:43 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

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.

 
Postado : 08/05/2018 5:50 pm
Felipe Ecks
(@ecks)
Posts: 48
Trusted Member
Topic starter
 

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.

 
Postado : 15/05/2018 12:14 pm
(@excel86)
Posts: 12
Active Member
 

@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

 
Postado : 16/09/2020 10:41 am
Raygsson
(@raygsson)
Posts: 68
Trusted Member
 

@macedorafa a estrutura do arquivo JSON pode ter modificado, anexe essa planilha que usa para analise.

 
Postado : 16/09/2020 7:36 pm
excel86 reacted
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

@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.

 
Postado : 17/09/2020 7:54 am
(@excel86)
Posts: 12
Active Member
 

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

 
Postado : 17/09/2020 10:28 am
Raygsson
(@raygsson)
Posts: 68
Trusted Member
 

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
EdsonBR reacted
Raygsson
(@raygsson)
Posts: 68
Trusted Member
 

Segue o arquivo, extraia antes de importa pro projeto.

 
Postado : 17/09/2020 2:36 pm
Raygsson
(@raygsson)
Posts: 68
Trusted Member
 

Tela Dados Extraídos

 
Postado : 17/09/2020 2:38 pm
(@excel86)
Posts: 12
Active Member
 
Postado por: @raygsson

Segue o arquivo, extraia antes de importa pro projeto.

Não consigo extrair o arquivo do rar. Obrigado pela ajuda

 
Postado : 17/09/2020 3:33 pm
Página 1 / 2