Neste artigo, veremos como o módulo sports.py é importado e implementado para produzir o placar de um esporte específico, como beisebol, basquete, críquete e muitos mais, juntamente com outros detalhes sobre o esporte. Os exemplos de código no texto abaixo giram em torno do críquete, você pode realizar a mesma operação para qualquer outro esporte.

Sport.py coleta dados de:

  • scorepro.com
  • profootball-reference.com
  • baseball-reference.com
  • basketball-reference.com
  • hockey-reference.com

Nem todos os esportes são suportados por este módulo, todos os quais são suportados estão listados abaixo, juntamente com seus respectivos códigos python para referenciá-los:

ESPORTE

REFERÊNCIA DE PYTHON

Beisebol esportes.BASEBOL
Basquetebol esportes.BASKETBALL
Grilo sports.CRICKET
Handebol esportes.HANDBALL
Futebol esportes.FUTEBOL
Hóquei  esportes.HOCKEY
União do rugby  sports.RUGBY_U
Liga de Rugby esportes.RUGBY_L
Futebol esportes.SOCCER
tênis esportes.TÊNIS
Vôlei esportes.VOLLEYBALL

Instalação

Primeiro, precisamos instalar este módulo e, para isso, basta executar o seguinte código em seu terminal:

pip install sports.py

Implementação

  • módulo de importação
  • Obtenha uma única correspondência usando get_match()

Sintaxe-



get_match (sport, team1, team2)

get_match() retorna um único objeto Match que contém as seguintes propriedades:

PROPRIEDADE

DESCRIÇÃO

esporte Nome do esporte
liga Liga do jogo
home_team Time da casa
time visitante Time visitante
home_score Pontuação da equipe da casa
away_score Pontuação da equipe ausente
match_time Tempo de jogo atual
match_date Data em que a partida foi jogada
match_link Link para um arquivo XML contendo dados de correspondência

Exemplo 1:

import sports 
sports.get_match(sports.CRICKET, 'KINGS XI PUNJAB' , 'ROYAL CHALLENGERS BANGALORE')

Resultado:

Exemplo 2:

Programa que imprime todas as partidas de críquete ao vivo.

import sports 
matches = sports.get_sport(sports.CRICKET) 
for item in matches: 
    print(item)

Resultado:

Exemplo 3:

Um aplicativo que produz partituras ao vivo de críquete usando tkinter em um formato GUI.

from tkinter import *
import sports 
from tkinter import messagebox  
  
def cricket_info(): 
      
    try: 
        match = sports.get_match(sports.CRICKET, e1.get() , e2.get()) 
        date.set(match.match_date) 
        time.set(match.match_time) 
        league.set(match.league) 
        team1.set(match.home_team) 
        team2.set(match.away_team) 
        team1_score.set(match.away_score) 
        team2_score.set(match.home_score) 
        link.set(match.match_link) 
    except: 
        messagebox.showerror("showerror", "No match found"
  
  
  
master = Tk() 
master.configure(bg='light grey') 
date = StringVar(); 
time = StringVar(); 
league = StringVar(); 
team1 = StringVar(); 
team2 = StringVar(); 
team1_score = StringVar(); 
team2_score = StringVar(); 
link = StringVar(); 
Label(master, text="Team 1 :" , bg = "light grey").grid(row=0, sticky=W) 
Label(master, text="Team 2 :" , bg = "light grey").grid(row=1, sticky=W) 
Label(master, text="Date :" , bg = "light grey").grid(row=2, sticky=W) 
Label(master, text="Time :", bg = "light grey").grid(row=3, sticky=W) 
Label(master, text="League :", bg = "light grey").grid(row=4, sticky=W) 
Label(master, text="Team 1 :", bg = "light grey").grid(row=5, sticky=W) 
Label(master, text="Team 2 :", bg = "light grey").grid(row=6, sticky=W) 
Label(master, text="Team 1 score :", bg = "light grey").grid(row=7, sticky=W) 
Label(master, text="Team 2 score :", bg = "light grey").grid(row=8, sticky=W) 
Label(master, text="Link :", bg = "light grey").grid(row=9, sticky=W) 
  
Label(master, text="", textvariable= date ,bg = "light grey").grid(row=2,column=1, sticky=W) 
Label(master, text="", textvariable= time ,bg = "light grey").grid(row=3,column=1, sticky=W) 
Label(master, text="", textvariable= league ,bg = "light grey").grid(row=4,column=1, sticky=W) 
Label(master, text="", textvariable= team1 ,bg = "light grey").grid(row=5,column=1, sticky=W) 
Label(master, text="", textvariable= team2 ,bg = "light grey").grid(row=6,column=1, sticky=W) 
Label(master, text="", textvariable= team1_score ,bg = "light grey").grid(row=7,column=1, sticky=W) 
Label(master, text="", textvariable= team2_score ,bg = "light grey").grid(row=8,column=1, sticky=W) 
Label(master, text="", textvariable= link ,bg = "light grey").grid(row=9,column=1, sticky=W) 
  
  
e1 = Entry(master) 
e1.grid(row=0, column=1) 
  
e2 = Entry(master) 
e2.grid(row=1, column=1) 
b = Button(master, text="Show", command=cricket_info ) 
b.grid(row=0, column=2,columnspan=2, rowspan=2,padx=5, pady=5) 
  
mainloop()

Resultado: