👋 Work With Me

I help startups and teams build production-ready apps with Django, Flask, and FastAPI.

Let’s Talk →

I'm always excited to take on new projects and collaborate with innovative minds.

Address

No 7 Street E, Federal Low-cost Housing Estate, Kuje, Abuja 903101, Federal Capital Territory

Social Links

Project

FBref Table Scraper

Fast Football Stats Extraction & Export

Client

https://github.com/KingsleyOdume/FBref-Table-Scraper
FBref Table Scraper

Overview
FBref Table Scraper is a developer tool and mini web app that lets users detect, preview, and export football statistics tables from FBref pages in a few clicks. It streamlines scouting, analysis, and content creation by turning messy HTML tables into clean, downloadable data.

FBref Table Scraper1
 

Key Features

  • Auto-detect tables on any FBref page (matches, shooting, passing, possession, etc.).
  • Preview before export with sortable columns and pagination.
  • Multi-table selection to grab several datasets in one run.
  • Filters by season, competition, club, or player (when present on page).
  • One-click CSV download per table (tidy headers, UTF-8).
  • Error handling & feedback (loading spinners, toast messages).
  • Rate-limit friendly requests with retries and graceful fallbacks.

Tech Stack

  • Backend: FastAPI (Python), Requests/HTTPX, lxml/BeautifulSoup for parsing
  • Frontend: Bootstrap (or Tailwind), vanilla JS/AJAX for async table detection
  • Data: Pandas for cleanup/normalization, CSV export
  • Auth (optional): Simple login to gate the scraper UI
  • Deployment: Docker-ready; works on Render/VPS

How It Works (Flow)

  1. Step 1 – Detect: Paste an FBref URL → the app scans and lists all tables found.
  2. Step 2 – Select: Choose specific tables → instant in-app preview.
  3. Step 3 – Export: Download clean CSVs (or copy to clipboard) for analysis.

Why It’s Useful

  • Saves analysts, creators, and students hours of manual copying.
  • Produces analysis-ready datasets for Excel, Python notebooks, or BI tools.
  • Ideal for scouting reports, match previews, and historical trend analysis.

My Contributions

  • Implemented robust HTML parsing & schema normalization.
  • Built a responsive UI with live previews and multi-table export.
  • Added validation (url.startswith("https://fbref.com/")) and clear error messages.
  • Packaged for easy deployment with environment-based configuration.

Outcome
Reduced data collection time by 80%+, enabling quick turnarounds for content and analysis while ensuring reproducible, clean datasets.

Share

Leave a comment

Your email address will not be published. Required fields are marked *

Your experience on this site will be improved by allowing cookies. Cookie Policy