A collection of anime data from MyAnimeList and AniList, updated daily. This project also includes a script to recommend anime based on shared genres and tags.
- Daily Updates: Runs automatically every day at midnight UTC.
- Data Sources: Collects data from AniList and MyAnimeList.
- Recommendation Tool: A terminal script that finds similar anime by comparing genres and tags.
- Data Validation: A script to check for missing data or gaps in the dataset.
├── data/
│ └── raw/ # CSV files containing the anime data
├── docs/ # Documentation
├── src/
│ ├── anilist_api.py # Script to get data from AniList
│ ├── jikan_api.py # Script to get data from Jikan (MyAnimeList)
│ ├── mal_api.py # Script to get data from official MyAnimeList API
│ ├── recommend_anime.py # Script to recommend anime
│ └── check_missing.py # Script to check data coverage
└── requirements.txt # List of Python dependencies
-
Clone the repository
git clone https://github.com/LeoRigasaki/Anime-dataset.git cd Anime-dataset -
Install dependencies
pip install -r requirements.txt
Requires Python 3.11 or higher.
To find similar anime:
python src/recommend_anime.pyFollow the prompts to search for an anime and see a list of similar titles.
To run the data collection scripts manually:
From AniList:
python src/anilist_api.pyFrom Jikan (MyAnimeList):
python src/jikan_api.pyTo generate a report on the dataset:
python src/check_missing.pyThis creates a report at data/missing_data_report.txt.
The data is saved as CSV files in the data/raw/ directory. Main columns include:
anime_id: Unique IDtitle: Title of the animescore: Average scoregenres: List of genrestags: List of tags (from AniList)members: Number of users tracking the animesynopsis: Description
The scripts are set to run automatically using GitHub Actions. You can check the Actions tab for the status of the daily updates.