AnimeScraper
AnimeScraper is an Open Source Python library designed for scraping and parsing anime-related data from MyAnimeList. With support for asynchronous requests, it allows you to fetch detailed informations about anime, characters, and more efficiently.
🚀 Features
- Fetch detailed anime and character details
- Asynchronous Fast data retrieval
- Caching
- Easy-to-use API
- Fully typed and documented
- Supports Synchronous as well
- Comes with a Cli too
- FastAPI Server with Caching config
🛠️ Installation
You can install AnimeScraper using pip:
pip install AnimeScraper
To install fastapi local server:
pip install AnimeScraper[server]
Cli Tool
You can use AnimeScraper in your command line too. Type animescraper for Usage. Available commands search-anime, get-anime, search-character etc. look at the Documentation for more information.
Example:
📖 Quick Start
Synchronous
This library supports both Synchronous and Asynchronous.
Searching and Fetching Anime
from AnimeScraper import SyncKunYu
scraper = SyncKunYu()
anime = scraper.search_anime("Chuunibyo demo koi ga shita")
print(anime.title)
print(anime.stats.rank)
Searching and fetching Character
from AnimeScraper import SyncKunYu
scraper = SyncKunYu()
character = scraper.search_character("Takanashi Rikka")
print(character.about)
print(character.description)
Asynchronous
Searching Anime
import asyncio
from AnimeScraper import KunYu
async def main():
scraper = KunYu()
anime = await scraper.search_anime("violet evergarden") # Violet Evergarden
print(anime.title)
print(anime.synopsis)
print(anime.characters[0].name)
asyncio.run(main())
Searching Character
import asyncio
from AnimeScraper import KunYu
async def main():
scraper = KunYu()
# Search and Fetch Character detials by name
# chekc docs for all Available attributes
character = await scraper.search_character("Killua Zoldyck")
print(character.name)
print(character.url)
asyncio.run(main())
Fetching Anime details
import asyncio
from AnimeScraper import KunYu
async def main():
# Use async Context manager to fetch multiple anime with same session
async with KunYu() as scraper:
anime = await scraper.get_anime("32281") # Fullmetal Alchemist: Brotherhood
print(anime.stats.score)
print(anime.characters[0].name)
asyncio.run(main())
📖 Documentation
Detailed documentation is available. Check out the Documentation
🌟 Key Components
KunYu: Main interface for scraping anime and character dataAnime: Detailed anime information modelCharacter: Comprehensive character details model- Asynchronous scraping with
aiohttp
🔧 Requirements
- Python 3.10+
- aiohttp
- httpx
- pydantic
- uvicorn
📦 Project Structure
AnimeScraper/
│
├── AnimeScraper/
│ ├── Scraper.py # Main scraping interface
│ ├── _model.py # Data models
│ ├── malscraper.py # HTTP connection handler
│ └── _parse_anime_data.py # HTML parsing utilities
│
├── docs/ # Sphinx documentation
├── tests/ # Unit tests
└── pyproject.toml # Project configuration
📄 License
Distributed under the GPL-V3.0 License. See LICENSE for more information.
📞 Contact
Metadata
Release files for AnimeScraper 1.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| animescraper-1.1.9.tar.gz | 1.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| animescraper-1.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.8 MB
Release files / animescraper-1.1.9.tar.gz
| Download URL | animescraper-1.1.9.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b80dd405cb5d1e2c542329161b637e7f274d218c52686f924bcbee3bf30d0d1
|
|
BLAKE2b-256 checksum How to use checksums |
132090dca12f64e6ada0f0fb762bd4c8a039b1595c75fe4cafa1f7b49bb74022
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.
Transparency logRelease files / animescraper-1.1.9-py3-none-any.whl
| Download URL | animescraper-1.1.9-py3-none-any.whl |
|---|---|
| Size | 35.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83ed16a19eec8106995a9fc3ede5bbab84b4379614c79dcb1fcac8d658a23008
|
|
BLAKE2b-256 checksum How to use checksums |
e8946e37a5daa7233dcb6313fec25c652ec259e184c62d87992f96fd358c5a7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.
Transparency log