I've recently started my journey diving into football analytics and have created a sample python program that references https://understat.com/ to scrape single game shot data.
This marks the beginning of my journey into data manipulation. I’m excited to dive deeper into this field and look forward to sharing more updates as I progress.
Repo:
https://github.com/UribeJr/football-data-scraper-to-csv-exporter
#!/usr/bin/env python # coding: utf-8 # In[2]: #import modules and packages import requests from bs4 import BeautifulSoup import json import pandas as pd # In[3]: #scrape single game shots base_url = 'https://understat.com/match/' match = str(input("Enter your match ID: ")) url = base_url + match # In[16]: res = requests.get(url) soup = BeautifulSoup(res.content, 'lxml') span = soup.find('span') script = soup.find_all('script') script # In[18]: string = script[1].string string # In[26]: #strip symbols so we only have json data index_start = string.index("('") + 2 index_end = string.index("')") json_data = string[index_start:index_end] json_data = json_data.encode('utf8').decode('unicode_escape') data = json.loads(json_data) # In[35]: df_h = pd.DataFrame(data['h']) print("Home Team DataFrame:") print(df_h.head()) # In[37]: # Save the home team DataFrame to a CSV file df_h.to_csv('home_team_shots.csv', index=False) # In[ ]:
The program then scrapes the shot data from the match and converts each Home and Away's team data into a separate Data Frame. The Data Frame's are then export as separate CSV Files for reference.
The above is the detailed content of Interested in Football Analytics?. For more information, please follow other related articles on the PHP Chinese website!