The USAU scraper is a data collector that allows developers to easily aggregate and use team results, rosters, and schedule data from the USAU website.
USAU (USA Ultimate) is the governing body of ultimate frisbee, and its website (which is notoriously hard to navigate) contains all of the information about high school, college, and club ultimate frisbee teams. Right now, there is no easy way to access this data. USAU scraper solves this problem by scraping the USAU website for data and therefore allowing other developers to easily use the data on the USAU site. This project will open the door to more data analytic projects concerning ultimate frisbee.
pip install usau-scraper
After installing the library, there are currently 3 functions available for use: getTeamInfo, getTeamSchedule, and getTeamRoster.
Simply import * from usau_scraper
, and then call any of the following functions:
getTeamInfo()
returns all information about the first 20 teams matching the query
Input: schoolName, teamName, genderDivision, state, competitionLevel, competitionDivision, and teamDesignation as named arguments
Output:
{
res: OK, NOTFOUND
teams: [
{
schoolName,
teamName,
competitionLevel,
genderDivision,
location,
coaches,
website,
facebook,
twitter,
},
...
]
}
getTeamSchedule()
returns the season schedule and record of the first 20 teams matching the query
Input: schoolName, teamName, genderDivision, state, competitionLevel, competitionDivision, and teamDesignation as named arguments
Output:
{
res: OK, NOTFOUND
teams: [
{
schoolName,
teamName,
competitionLevel,
genderDivision,
wins,
losses,
tournaments: {
name: {
games: [
{
date,
score,
opponentCollege,
opponentTeamPage
},
...
]
},
...
},
},
...
]
}
getTeamRoster()
returns the roster of the first 20 teams matching the query
Input: schoolName, teamName, genderDivision, state, competitionLevel, competitionDivision, and teamDesignation as named arguments
Output:
{
res: OK, NOTFOUND
teams: [
{
schoolName,
teamName,
competitionLevel,
genderDivision,
roster: [
{
no,
name,
pronouns,
position,
year,
height,
},
...
]
},
...
]
}
After pip install --upgrade usau-scraper
in your python env:
from usau_scraper import getTeamInfo, getTeamSchedule, getTeamRoster
# Get a team's basic information
print(getTeamInfo(
schoolName = 'Columbia',
teamName = 'Baewatch',
genderDivision='Women',
state='NY',
competitionLevel='College',
competitionDivision='Division 1',
teamDesignation='B'))
# Get a team's schedule for the current season
print(getTeamSchedule(schoolName='Columbia', teamName='Curbside'))
# Get a team's roster for the current season
print(getTeamRoster(schoolName='Columbia', teamName='Curbside'))
Additional usage examples are in this notebook.
- A function that, given a team name, returns basic information about them.
- A function that, given a team name, returns their schedule and record.
- A function that, given a team name, returns its roster.
- A function that, given a tournament name, returns the results of the tournament.
- A function that, given a college division, returns the current standings of that division.
- An additional plugin to ultiworld to show recent articles given a team name or college division.
- More features tbd!
- A seeding helper that, given a list of team names, returns their records for the season and their record against top 25 teams.