Skip to main content

Live IPL Score Using Python || Python Code for Live Cricket Score || IPL Match Detail Program in Python || Live Cricket Score - Creation Code

 

Live IPL Score Using Python

Hello coders, we are going to learn how we can create a GUI application to build a live score updater using python. We are going to use web scraping using BeautifulSoup class from bs4. We will use the crickbuzz for scraping

Module to Be used:

tkinter - Preinstalled module

request - For requesting the webserver

bs4 - It is used for web scraping

Installation:

pip install request
pip install beautifulsoup4

Code:

from tkinter import *
import requests
from bs4 import BeautifulSoup
# create instance for window
root = Tk()
# set title for window
root.title("Indian Premier League")
# screen color configure
root.config(background="skyblue")
# cricbuzz url to get score updates
url="https://www.cricbuzz.com/"
def get_score():
    # request data from cricbuzz
    page = requests.get(url)
    soup = BeautifulSoup(page.text,'html.parser')
    # name of first team
    team_1 = soup.find_all(class_ = "cb-ovr-flo cb-hmscg-tm-nm")[0].get_text()
    # name of second team
    team_2 = soup.find_all(class_ = "cb-ovr-flo cb-hmscg-tm-nm")[1].get_text()
    # score of first team
    team_1_score = soup.find_all(class_ = "cb-ovr-flo")[8].get_text()
    # score of second team
    team_2_score = soup.find_all(class_ = "cb-ovr-flo")[10].get_text()
    # configure the team names to teams label
    teams.config(text=f"{team_1}\t\t{team_2}")
    # configure the team scores to teams label
    scores.config(text=f"{team_1_score}\t{team_2_score}")
    # call the get_score() function
    # after every 1000 milliseconds
    # and update scores
    scores.after(1000, get_score)
# label to display IPL 2021 title
title = Label(root,text='IPL 2021',font= ("lucida 30 bold"), bg="blue")
title.grid(row=0,pady=5)
# label for team names
teams = Label(root, font=("lucida 20 bold"),bg="red")
teams.grid(row = 1, padx=5)
# label for team scores
scores = Label(root, font=("lucida 20 bold"),bg = "skyblue")
scores.grid(row = 2, padx=5)
# call function
get_score()
root.mainloop()

Output:






Comments