Scrapers and data for NCAA Division I women's field hockey, sourced from stats.ncaa.org.
Dependencies are managed with uv.
uv sync
uv run playwright install chromiumThe team URL generator reads from ~/.ncaa_stats_py/schools.csv. If that
file does not yet exist, run any ncaa_stats_py call once to populate it.
Generate the team URL CSV for a given season (year is the calendar year the season starts in, e.g. 2025 for the 2025–26 academic year):
uv run generate_team_urls.py 2025Then run the scrapers, which read that CSV and write to data/:
uv run NCAAFieldHockeyMatchScraper.py 2025
uv run NCAAFieldHockeyPlayerScraper.py 2025
uv run NCAAFieldHockeyReportScraper.py 2025Each scraper accepts an optional [limit] second arg for testing against
a small number of teams.
url_csvs/ncaa_womens_field_hockey_teamurls_{season}.csv— per-team player- and match-stats URLs.data/ncaa_womens_field_hockey_matchstats_{season}.csv— game-by-game team stats with merged opponent (defensive) totals.data/ncaa_womens_field_hockey_playerstats_{season}.csv— season player stats per team.data/ncaa_womens_field_hockey_{report}_{season}.csv— season-level reports (attendance, toughest schedule, streaks, etc).
The original R scrapers (*.R) are kept for reference but are no longer
the primary path.