Closed thiagossilva17 closed 4 years ago
Olá Thiago! Muito obrigado!
Quanto a API do Cartola da Globo, só há como fazer chamada para a última rodada, que alimenta o frontend do Cartola FC Oficial.
Para chamar os dados brutos, você pode acessar os arquivos deste repositório. Aqui tem um Colab com tutorial para você ler em python
TL;DR
Função para abaixo. Depois de colocá-la no seu código, você pode buscar os dados de 2020, chamando.
# Ler dados de 2020 como DataFrame do pandas
df_2020 = read_cartola_data(2020)
import re
import requests
from bs4 import BeautifulSoup
import pandas as pd
def read_cartola_data(year):
'''
Read data from a given year of the CaRtola repository
Parameters:
year (int) - year inside the range 2018-2020.
'''
if year in [2018, 2019, 2020]:
# URL para baixar os arquivos
url = 'https://github.com/henriquepgomide/caRtola/tree/master/data/{}'.format(year)
html = requests.get(url)
soup = BeautifulSoup(html.text, 'lxml')
dict_of_files = {}
for tag in soup.find_all('a', attrs={'href': re.compile('rodada-([0-9]|[0-9][0-9])\.csv')}):
href_str = tag.get('href')
file_name = re.sub('/henriquepgomide/caRtola/blob/master/data/{}/'.format(year),
'',
href_str)
file_url = re.sub('/henriquepgomide/caRtola/blob/master/data/{}/'.format(year),
'https://raw.githubusercontent.com/henriquepgomide/caRtola/master/data/{}/'.format(year),
href_str)
dict_of_files[file_name] = file_url
list_of_dataframes = []
for key, item in dict_of_files.items():
df = pd.read_csv(item)
df['rodada'] = key
list_of_dataframes.append(df)
df_cartola = pd.concat(list_of_dataframes)
return df_cartola
else:
print('You need to add an year within the range: 2018 and 2020')
Olá Henrique... Parabéns pelo ótimo trabalhando que vem fazendo quanto aos dados do cartola.
Gostaria de saber se há alguma forma de fazer uma chamada a API e conseguir receber todos os dados de todas as rodadas que aconteceram este ano em uma única chamada?
Realizando as chamadas de API consegui apenas os dados da última rodada finalizada.... Então realizei uma chamada aos seus dados dispostos aqui no GitHub mas as colunas da rodada 1 são divergentes das colunas da rodada 2.... Gostaria de saber se vc ainda tem os dados da rodada 1 dispostos da forma original sem manipulações?
Muito obrigado.