Skip to content

Instantly share code, notes, and snippets.

@luxu
Last active March 22, 2018 11:39
Show Gist options
  • Save luxu/14351e6d435a74c3399aaad83dac9638 to your computer and use it in GitHub Desktop.
Save luxu/14351e6d435a74c3399aaad83dac9638 to your computer and use it in GitHub Desktop.
Arquivo que pega as rodadas do BR2018 e cria o arquivo: tabelas.json que será usada numa aplicação em Vue
# -*- coding: utf-8 -*-
#!/usr/bin/python
import os
import re
import requests
from bs4 import BeautifulSoup
def run(link):
if link is None:
return
lista = []
page = requests.get(link)
soup = BeautifulSoup(page.content, 'html.parser')
layout = soup.find_all(class_="rodada-1")
for l in layout:
rodada = l.find("h3").text
data = l.find("h4").text.split()
jogos = l.find_all(class_="row")
for game in jogos:
nova = game.find_all(class_="full-game")
for g in nova:
divhorario = game.find(class_="full-game-time")
horario = divhorario.find("span").text.strip()
divnro_jogo = game.find(class_="full-game-location")
nro_jogo = divnro_jogo.find("strong").text.strip()
timeCasa = g.find(class_="game-team-1")
timeFora = g.find(class_="game-team-2")
# timeDaCasa = re.sub(r"[\ *]?-[\ *]?", "", timeCasa.find("span").text)
timeDaCasa = re.sub(r"[\ *\-]", "", timeCasa.find("span").text)
timeDeFora = re.sub(r"[\ *\-]", "", timeFora.find("span").text)
# [re.sub(r"[\ *\-]", "", x) for x in l]
jogo = f'{timeCasa.find("span").text} x {timeFora.find("span").text}'
dic_lista = dict(rodada=rodada, horario=horario, jogo=jogo, timeDaCasa=timeDaCasa, timeDeFora=timeDeFora)
lista.append(dic_lista)
return lista
if __name__ == "__main__":
base_url = 'https://cbf.com.br/competicoes/brasileiro-serie-a'
lista = run(base_url)
print(lista)
import json
dict_salvar = json.dumps(lista, indent=4, ensure_ascii=False)
# Verifica se o diretório static já existe, senão o cria.
diretorio = os.path.join(os.path.abspath('.'), '../TabelaBR2018/static')
if not os.path.lexists(diretorio):
os.mkdir(diretorio)
arquivo = os.path.join(diretorio, 'tabelas.json')
try:
file = open(arquivo, "w", encoding='utf8')
file.write(dict_salvar)
file.close()
except Exception as erro:
print(f'Ocorreu um erro ao carregar o arquivo.')
print(f'O erro é: {erro}')
@zirou30
Copy link

zirou30 commented Mar 21, 2018

Pq não usar o novo format do python3
print(f'O error é: {error}')

@luxu
Copy link
Author

luxu commented Mar 22, 2018

Vlw vou modificar as dicas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment