LoA: League of Archives is a CLI tool to scape analyzed League of Legends champions stats from OP.GG and BLITZ.GG into XLSX, CSV, JSON or TXT files, visualize the gathered data as a PNG plot and stream the data into a localhost html table and json.
- Python 3.10 - https://www.python.org/downloads/release/python-3105/
- Packages, run:
pip3 install -r ./requirements.txt
python3 project.py --help
usage: project.py [-h] [-t TYPE] [--plot | --no-plot] [--stream | --no-stream] [-v] provider
LoA: League of Archives - Scrape, export, visualize and stream data from OP.GG and Blitz.GG
Positional arguments:
provider Data provider to use, options: {op.gg, blitz.gg}
Optional arguments:
-h, --help Show this help message and exit
-t TYPE, --type TYPE Data exporting type, options: {xlsx, csv, json, txt}
--plot, --no-plot Visualize the data and export it as png
--stream, --no-stream
Stream the data into html table and json response
-v, --version Show program's version number and exit
Results will be exported under ./results
-
Data gathering preferences:
-
Data gathering methods:
- OP.GG: API Call
- BLITZ.GG: API Call
-
Dataframe structuring:
-
Unique value for each champion (161 champion as for patch 12.14)
-
The most played role for a champion will be selected if multiple roles are listed.
-
Champions with "not enough sample size" mark (The provider did not find enough matches to analyze) will automatically have 0 row values.
-
Columns are:
-
ChampionId: int
- Source: Provider's response. -
ChampionName: str
- Source: Mapping ChampionId to ChampionName from Data Dragon's champions json response. -
Role: str
- Source: Provider's response. -
TotalGames: int
- Source: Provider's response. -
wins: int
- Source: Provider's response. -
Losses: int
- Source: Provider's response. -
Winrate: str | float
- Source: Formula (rounded to 2 decimal places):$$ Winrate \space percentage = {Wins \over Total \space games} \times 100 $$ -
Provider: str
- Source: The data fetch source.
-
-
- Add OP.GG
- Add Blitz.GG
- Add args parser
- Add data exporting
- Add data visualization
- Add U.GG scraping via Selenium
- Add more data providers like mobalytics.gg, metasrc.com, lolalytics.com and lolvvv.com etc.
-
Data:
-
Champions list:
-
Champions winrates:
-
-
Other:
This project was made for educational purposes (CS50P) and does not encourage any data usage without permission from its owner.