Scrapes team data from FotMob and exports it to CSV files, with a Svelte UI to explore squad, fixtures, stats, and transfers.
All generated CSVs are written to data/.
scraper/scraper.py: main scraping/export scriptscraper/config.py: loads .env valuesscraper/supabase_sync.py: optional Supabase sync logicsupabase/schema.sql: SQL schema for Supabase Query Editordata/: generated CSV outputclient/: Svelte + Vite frontendpython3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Create .env:
cp .env.example .env
Set your team:
TEAM_ID=9773
Optional Supabase sync env vars:
SUPABASE_URL=https://your-project-ref.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
SUPABASE_SCHEMA=public
python3 scraper/scraper.py
Optional: sync to Supabase in the same run:
python3 scraper/scraper.py --sync-supabase
Expected outputs:
data/fixtures.csvdata/squad.csvdata/player_stats.csvdata/team_info.csvdata/league_table.csv (may be empty depending on response)data/transfers.csvcd client
npm install
npm run dev
Open http://localhost:5173.
Run supabase/schema.sql in Supabase Query Editor before using --sync-supabase.
Default schema used by the scraper is public.
mobfotpandaspython-dotenvsupabase