Started By
Message
re: Friday SEC Baseball
Posted on 3/14/25 at 11:50 am to bigDgator
Posted on 3/14/25 at 11:50 am to bigDgator
quote:
D1 Baseball has upgraded theirs and you can also have a conference only view.
It would be nice if we could write a script and bring them into our own scoreboard.. perhaps from ESPN?
CFB Scoreboard did something similar, scrubbing the data from ESPN. Anyone know how to do this?
I'll put in the work if someone can tell me how to do it.
Posted on 3/14/25 at 11:53 am to BigBro
lol grok wrote the code for me..
-------------
import requests
from bs4 import BeautifulSoup
import pandas as pd
from datetime import datetime
# List of SEC team names for filtering
SEC_TEAMS = {
'Alabama', 'Arkansas', 'Auburn', 'Florida', 'Georgia', 'Kentucky',
'LSU', 'Mississippi State', 'Missouri', 'Oklahoma', 'Ole Miss',
'South Carolina', 'Tennessee', 'Texas', 'Texas A&M', 'Vanderbilt'
}
def scrape_sec_baseball_scores():
# ESPN college baseball scores URL
url = 'LINK ;
# Add headers to mimic a browser request
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
try:
# Make the request
response = requests.get(url, headers=headers)
response.raise_for_status()
# Parse the HTML
soup = BeautifulSoup(response.text, 'html.parser')
# Find all game containers
games = soup.select('.ScoreboardScoreCell')
# List to store game data
game_data = []
# Current date
current_date = datetime.now().strftime('%Y-%m-%d')
for game in games:
# Get teams
teams = game.select('.ScoreCell_Score--scoreboard')
if len(teams) != 2:
continue
team1_name = teams[0].get_text(strip=True)
team2_name = teams[1].get_text(strip=True)
# Check if either team is in SEC
if team1_name not in SEC_TEAMS and team2_name not in SEC_TEAMS:
continue
# Get scores
scores = game.select('.ScoreCell_Score--value')
team1_score = scores[0].get_text(strip=True) if scores else 'N/A'
team2_score = scores[1].get_text(strip=True) if len(scores) > 1 else 'N/A'
# Get game status
status = game.select_one('.ScoreCell_Score--status') or game.select_one('.ScoreCell_Score--time')
game_status = status.get_text(strip=True) if status else 'Unknown'
# Store the data
game_data.append({
'Date': current_date,
'Team 1': team1_name,
'Team 1 Score': team1_score,
'Team 2': team2_name,
'Team 2 Score': team2_score,
'Status': game_status
})
# Create DataFrame
df = pd.DataFrame(game_data)
# Save to CSV
df.to_csv('sec_baseball_scores.csv', index=False)
print("Data saved to sec_baseball_scores.csv")
return df
except requests.RequestException as e:
print(f"Error fetching data: {e}")
return None
except Exception as e:
print(f"Error processing data: {e}")
return None
def main():
print(f"Scraping SEC baseball scores for {datetime.now().strftime('%Y-%m-%d')}")
scores_df = scrape_sec_baseball_scores()
if scores_df is not None and not scores_df.empty:
print("\nSEC Baseball Scores:")
print(scores_df)
else:
print("No SEC games found or an error occurred.")
if __name__ == "__main__":
main()
--------------
Anyone want to try it in python?
One Note..
Date-Specific Scores: This code gets current scores. To scrape scores for a specific date, you’d need to modify the URL or use ESPN’s hidden API (e.g., LINK ), but that requires API exploration and possibly authentication.
-----
How would that even work here? I assume Chicken would have to create a page for it?
-------------
import requests
from bs4 import BeautifulSoup
import pandas as pd
from datetime import datetime
# List of SEC team names for filtering
SEC_TEAMS = {
'Alabama', 'Arkansas', 'Auburn', 'Florida', 'Georgia', 'Kentucky',
'LSU', 'Mississippi State', 'Missouri', 'Oklahoma', 'Ole Miss',
'South Carolina', 'Tennessee', 'Texas', 'Texas A&M', 'Vanderbilt'
}
def scrape_sec_baseball_scores():
# ESPN college baseball scores URL
url = 'LINK ;
# Add headers to mimic a browser request
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
try:
# Make the request
response = requests.get(url, headers=headers)
response.raise_for_status()
# Parse the HTML
soup = BeautifulSoup(response.text, 'html.parser')
# Find all game containers
games = soup.select('.ScoreboardScoreCell')
# List to store game data
game_data = []
# Current date
current_date = datetime.now().strftime('%Y-%m-%d')
for game in games:
# Get teams
teams = game.select('.ScoreCell_Score--scoreboard')
if len(teams) != 2:
continue
team1_name = teams[0].get_text(strip=True)
team2_name = teams[1].get_text(strip=True)
# Check if either team is in SEC
if team1_name not in SEC_TEAMS and team2_name not in SEC_TEAMS:
continue
# Get scores
scores = game.select('.ScoreCell_Score--value')
team1_score = scores[0].get_text(strip=True) if scores else 'N/A'
team2_score = scores[1].get_text(strip=True) if len(scores) > 1 else 'N/A'
# Get game status
status = game.select_one('.ScoreCell_Score--status') or game.select_one('.ScoreCell_Score--time')
game_status = status.get_text(strip=True) if status else 'Unknown'
# Store the data
game_data.append({
'Date': current_date,
'Team 1': team1_name,
'Team 1 Score': team1_score,
'Team 2': team2_name,
'Team 2 Score': team2_score,
'Status': game_status
})
# Create DataFrame
df = pd.DataFrame(game_data)
# Save to CSV
df.to_csv('sec_baseball_scores.csv', index=False)
print("Data saved to sec_baseball_scores.csv")
return df
except requests.RequestException as e:
print(f"Error fetching data: {e}")
return None
except Exception as e:
print(f"Error processing data: {e}")
return None
def main():
print(f"Scraping SEC baseball scores for {datetime.now().strftime('%Y-%m-%d')}")
scores_df = scrape_sec_baseball_scores()
if scores_df is not None and not scores_df.empty:
print("\nSEC Baseball Scores:")
print(scores_df)
else:
print("No SEC games found or an error occurred.")
if __name__ == "__main__":
main()
--------------
Anyone want to try it in python?
One Note..
Date-Specific Scores: This code gets current scores. To scrape scores for a specific date, you’d need to modify the URL or use ESPN’s hidden API (e.g., LINK ), but that requires API exploration and possibly authentication.
-----
How would that even work here? I assume Chicken would have to create a page for it?
This post was edited on 3/14/25 at 1:26 pm
Posted on 3/14/25 at 12:19 pm to bigDgator
quote:
Texas A&M 10-6
But, but I thought anm was suppose to be the icing on the cake.
Musta been aggy bakers.
Poor aggies
Posted on 3/14/25 at 1:26 pm to BigBro
I'm ready. Inject this into my veins.. 

Posted on 3/14/25 at 1:42 pm to BigBro
ill make something to parse warrennolan in a second for you. Im just unsure if they update the scores dynamically or if you have to refresh the page.
This post was edited on 3/14/25 at 1:45 pm
Posted on 3/14/25 at 2:02 pm to bigDgator
Hunter Elliot on the mound. He’s hurt us before. Let’s go!
Posted on 3/14/25 at 2:09 pm to Omahawgs15
Hogs patient at the plate and running his count up in the first
Posted on 3/14/25 at 2:12 pm to bigDgator
Good DP to end the top of 1
This post was edited on 3/14/25 at 2:13 pm
Posted on 3/14/25 at 2:13 pm to Omahawgs15
The play by play guy is a goober. Doesn't seem like he knows much about baseball.
Posted on 3/14/25 at 2:14 pm to Drewbie
Swayze is a nice looking field
Posted on 3/14/25 at 2:15 pm to Omahawgs15
First pitch for root is a bomb…. Welcome to the SEC…. SMH
Posted on 3/14/25 at 2:18 pm to Omahawgs15
Root has bounced back nicely after the first pitch so far
Posted on 3/14/25 at 2:18 pm to Omahawgs15
Nice recovery on the next batter.
Posted on 3/14/25 at 2:21 pm to Drewbie
Nice little bloop double right there 

Posted on 3/14/25 at 2:21 pm to Drewbie
Our outfielders dive for uncatchable balls way too damn much. Giving away free bases.
Posted on 3/14/25 at 2:21 pm to Drewbie
quote:
Fire Matt Hobbs?
Can't do that, he's the coach when DVH retires
Posted on 3/14/25 at 2:21 pm to ArHog
Spoke too soon on rebounding. :/
This post was edited on 3/14/25 at 2:22 pm
Popular
Back to top
