Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Football Ticket Net Scraper

A Python scraper for extracting football match listings from FootballTicketNet.com using the ScrapingAnt web scraping API.

Features

  • Scrapes football match listings from FootballTicketNet.com
  • Extracts comprehensive match details:
    • Event ID
    • Home team and away team
    • Match title
    • Competition/tournament
    • Venue
    • City and country
    • Date and time
    • Event URL
    • Team logo URLs
  • Supports multiple tournaments (Premier League, Champions League, La Liga, etc.)
  • Pagination support with configurable page limits
  • Exports data to CSV and JSON formats
  • Deduplicates matches automatically

Prerequisites

Note: The ScrapingAnt free plan has a concurrency limit of 1 thread. For higher throughput, consider upgrading to a paid plan.

Installation

  1. Clone this repository:
git clone https://github.com/kami4ka/football-ticket-net-scraper.git
cd football-ticket-net-scraper
  1. Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Set your ScrapingAnt API key:
export SCRAPINGANT_API_KEY="your_api_key_here"

Usage

Basic Usage

Scrape matches from Premier League (default, 2 pages):

python main.py

Command Line Options

python main.py [OPTIONS]

Options:
  --tournament TEXT       Scrape a specific tournament only
  --tournaments TEXT...   Scrape multiple specific tournaments
  --all-tournaments       Scrape all available tournaments
  --max-pages INT         Maximum pages to scrape per tournament
  -o, --output PATH       Output CSV file path (default: output/football_tickets.csv)
  --json                  Also export to JSON format
  -v, --verbose           Enable verbose output
  --api-key TEXT          ScrapingAnt API key (or set SCRAPINGANT_API_KEY env var)
  --list-tournaments      List available tournaments and exit

Examples

Scrape with verbose output:

python main.py --verbose

Scrape Premier League matches (all pages):

python main.py --tournament premier-league --verbose

Scrape specific number of pages:

python main.py --tournament premier-league --max-pages 3 --verbose

Scrape multiple tournaments:

python main.py --tournaments premier-league champions-league --verbose

Scrape all tournaments:

python main.py --all-tournaments --max-pages 2 --verbose

Export to both CSV and JSON:

python main.py --json -o output/matches.csv

List available tournaments:

python main.py --list-tournaments

Available Tournaments

  • premier-league - English Premier League
  • champions-league - UEFA Champions League
  • la-liga - Spanish La Liga
  • serie-a - Italian Serie A
  • bundesliga - German Bundesliga
  • ligue-1 - French Ligue 1
  • europa-league - UEFA Europa League
  • fa-cup - FA Cup

Output Format

CSV Fields

Field Description Example
event_id Unique event identifier 114687
home_team Home team name Arsenal
away_team Away team name Liverpool FC
match_title Full match title Arsenal vs Liverpool FC
competition Tournament/league Premier League
venue Stadium name Emirates Stadium
city City name London
country Country name United Kingdom
date Match date 08/01/26
time Match time Thu 20:00
event_url Direct link to match https://www.footballticketnet.com/...
home_logo_url Home team logo URL https://www.footballticketnet.com/theme/...
away_logo_url Away team logo URL https://www.footballticketnet.com/theme/...
scraped_at Timestamp of scraping 2026-01-05T10:30:00Z

Sample Output

event_id,home_team,away_team,match_title,competition,venue,city,country,date,time,event_url,home_logo_url,away_logo_url,scraped_at
114687,West Ham United,Nottingham Forest,West Ham United vs Nottingham Forest,Premier League,London Stadium,London,United Kingdom,06/01/26,Tue 20:00,https://www.footballticketnet.com/premier-league/west-ham-united-vs-nottingham-forest,...

Project Structure

FootballTicketNetScraper/
├── config.py          # Configuration settings
├── models.py          # Match and MatchCollection data classes
├── utils.py           # Utility functions
├── scraper.py         # Main scraper class
├── main.py            # CLI entry point
├── requirements.txt   # Python dependencies
├── .gitignore         # Git ignore patterns
├── output/            # Output directory for scraped data
│   └── .gitkeep
└── README.md          # This file

How It Works

The scraper fetches tournament pages from FootballTicketNet.com and extracts match information using CSS selectors. Each tournament page displays 25 matches with pagination support.

The site uses server-side rendering, but ScrapingAnt's browser rendering capability ensures complete page loading before extraction.

License

MIT License

Disclaimer

This scraper is for educational purposes only. Please respect FootballTicketNet.com's terms of service and rate limits when using this tool. Always ensure your scraping activities comply with applicable laws and website policies.

About

Python scraper for FootballTicketNet.com football match listings using ScrapingAnt API

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages