This project scrapes soccer match information from https://catigoal.com/{event}/matches and
stores the data as JSON. The parser respects colspan attributes on both header and data
cells so tables are accurately mapped to JSON. When a header cell spans multiple columns,
each column is named sequentially (e.g. Teams_1, Teams_2, Teams_3).
Install dependencies with uv:
uv syncSpecify a list of events in config.yaml:
events:
- RCJE2025
- OTHEREVENTRun the fetcher to download match tables and store them under data/{event}/matches.json:
uv run python -m soccer_matches.fetchAlternatively specify events via an environment variable:
EVENTS=RCJE2025 uv run python -m soccer_matches.fetchNote that access to catigoal.com may require an internet connection.