Skip to content

gordonjb/TABLEMATCH

Repository files navigation

TABLEMATCH

TABLEMATCH scrapes a list of shows from CAGEMATCH.net and generates a static site of statistics about those shows.

Description

TABLEMATCH uses Observable Framework to visualise statistics about wrestling shows in the style of something like setlist.fm. It gets its data from a list of shows scraped from CAGEMATCH.net and parsed to a standard JSON format by a Python CLI library (see its README for more info). These are then loaded into a DuckDB database by a dataloader, which is then used to calculate stats.

Getting Started

Dependencies

Building

First to convert the list of shows to JSON:

cd py/
uv run main.py shows.yaml out

To run a local autoupdating server:

npm run dev

To build a static site as a /dist folder:

npm run build

Technologies

Shows list

The list of attended shows is sourced from a YAML file. My personal copy for reference is at py/shows.yaml.

At it's most basic, the file is just a top level YAML list of show URLs:

- https://www.cagematch.net/?id=1&nr=244194
- https://www.cagematch.net/?id=1&nr=241265
- https://www.cagematch.net/?id=1&nr=244175

For more in depth info on the options and Python script, check the README in the Python folder.

Custom shows

The site expects to load JSON files representing shows from py/out/. While these can be generated by the Python CLI, you can also write your own, for example for shows that CAGEMATCH doesn't have in it's database. Use the example of a show generated by the CLI as comparison, and keep it in py/out/. The CLI will only overwrite your file if it has the same name as one it generates.

About

TABLEMATCH scrapes a list of shows from CAGEMATCH.net and generates a static site of statistics about those shows.

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •