Skip to content

kami4ka/axs-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AXS Event Scraper

A Python scraper for extracting event listings from AXS.com using the ScrapingAnt web scraping API.

Features

  • Scrapes event listings from AXS city pages
  • Extracts comprehensive event details:
    • Event ID
    • Title
    • Venue name
    • City, State, Country
    • Date and time
    • Availability status (Available, Cancelled, Sold Out, etc.)
    • Event URL
  • Exports data to CSV and JSON formats
  • Handles JavaScript-rendered content via ScrapingAnt
  • Deduplicates events 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/axs-scraper.git
cd axs-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 events from Los Angeles (default city):

python main.py

Command Line Options

python main.py [OPTIONS]

Options:
  --city-id TEXT       City ID to scrape (default: 5368361 - Los Angeles)
  --city-slug TEXT     City slug (default: los-angeles-ca)
  --pages INTEGER      Number of pages to scrape (default: 1)
  -o, --output PATH    Output CSV file path (default: output/axs_events.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)

Examples

Scrape with verbose output:

python main.py --verbose

Scrape multiple pages:

python main.py --pages 3

Export to both CSV and JSON:

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

Scrape a different city (e.g., New York):

python main.py --city-id 5128581 --city-slug new-york-ny

Output Format

CSV Fields

Field Description Example
event_id Unique AXS event ID 1234567
title Event title Countdown NYE (18+ Event)
venue Venue name Los Angeles Convention Center
city City name Los Angeles
state State/region CA
country Country United States
date Event date Dec 31, 2025
time Event time 7:00 PM
status Availability status Available
url Full event URL https://www.axs.com/events/1234567

Sample Output

event_id,title,venue,city,state,country,date,time,status,url
1234427,Crypto.com Arena VIP Tours,Crypto.com Arena Tours,Los Angeles,CA,United States,Dec 31, 2025,,Available,https://www.axs.com/events/1234427
1148919,Countdown NYE (18+ Event),Los Angeles Convention Center,Los Angeles,CA,United States,Dec 31, 2025,7:00 PM,Available,https://www.axs.com/events/1148919

Project Structure

AXSScraper/
├── config.py          # Configuration settings and CSS selectors
├── models.py          # Event and EventCollection data classes
├── utils.py           # Utility functions for parsing
├── 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

Finding City IDs

To scrape events from a different city, you need to find the city ID and slug:

  1. Go to axs.com/category/cities
  2. Click on the desired city
  3. The URL will contain the city ID and slug:
    • URL: https://www.axs.com/category/cities/5368361/los-angeles-ca
    • City ID: 5368361
    • City slug: los-angeles-ca

Limitations

  • AXS uses "load more" style pagination with JavaScript. The initial page load shows 10 events by default.
  • For scraping more events, consider using the AXS internal API or a headless browser approach.
  • ScrapingAnt free plan is limited to 1 concurrent request.

License

MIT License

Disclaimer

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

About

AXS.com event scraper using ScrapingAnt API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages