A robust Python tool to scrape and organize airline logos and banners from multiple aviation data sources.
- Image Repository: Jxck-S/airline-logos
- Live Gallery: View Logos & Banners
- Multi-Source Scraping: Downloads logos and banners from:
- FlightAware (Logos)
- FlightRadar24 (Banners - Scraped from Index)
- RadarBox (Logos & Banners)
- Avcodes UK (Banners)
- Enhanced Coverage: Combines airline codes from Wikipedia and FAA (Chapter 3) for maximum coverage (>8,000 airlines).
- Smart Filtering:
- Detects and skips blank or placeholder images.
- Dedupes identical images.
- Performance:
- Uses
ThreadPoolExecutorfor concurrent downloads. - Configurable threads and delays.
- Uses
- User Friendly:
-
Sticky Progress Footer: Shows live "Session" (New) vs "Total" (Directory) counts.
-
Interactive or Automatic (
-A) modes.
-
main.py: The entry point for the scraper.src/: Contains the core logic (airline_logos.py, scrapers, etc.).
- Python 3.9+
This project uses Pipenv for dependency management.
# Install dependencies and create virtual environment
pipenv installAlternatively, you can use standard pip with requirements.txt.
pip install -r requirements.txtInteractive Mode: Run without arguments to selectively enable sources.
python3 main.pyAutomatic Mode: Download from all sources without prompting.
python3 main.py -APerformance Tuning: Customize threading and delays to speed up large scrapes or avoid rate limits.
# 20 threads, 0.1s delay, skip existing files (-s)
python3 main.py -A -s -t 20 -d 0.1Options:
-A, --all: Enable all sources.-s, --skip: Skip files that already exist (checks filename).-t, --threads: Number of concurrent download threads (Default: 10).-d, --delay: Delay between requests per thread (Default: 0.5s).--fr24-method:scrape(Default, recommended) orbrute(Legacy guessing).
When running main.py, the sticky footer provides real-time insights:
NEW DURING skip FA:5 | RB Ban:0 ... <-- Files downloaded in this specific session
TOTAL DIR+NEW FA:1320 | RB Ban:1115 ... <-- Total files in your library
Progress: 568/7674 (7.40%) <-- Overall progress through the airline list
This tool is for educational purposes only. Please respect the terms of service and usage rights of the respective websites.
Potential new sources for expanded coverage:
- TripAdvisor: Airlines Page
- Example:
https://static.tacdn.com/img2/flights/airlines/logos/100x100/AeroMexico.png - Note: Would require name-to-ICAO mapping via regex/lookup.
- Example:
- Google Flights:
- Example:
https://www.gstatic.com/flights/airline_logos/70px/NH.png - Note: Uses IATA codes (e.g. NH for ANA). Would require IATA-to-ICAO mapping.
- Example: