Skip to main content

A Simple library to get Anime and Character information. It scrapes all information from MyAnimeList website.

Project description

AnimeScraper

AnimeScraper Logo

PyPI - Python Version

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:

AnimeScraper Cli Demo AnimeScraper Cli Demo

📖 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 data
  • Anime: Detailed anime information model
  • Character: 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

Facebook Telegram

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

animescraper-1.1.9.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

animescraper-1.1.9-py3-none-any.whl (35.1 kB view details)

Uploaded Python 3

File details

Details for the file animescraper-1.1.9.tar.gz.

File metadata

  • Download URL: animescraper-1.1.9.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for animescraper-1.1.9.tar.gz
Algorithm Hash digest
SHA256 1b80dd405cb5d1e2c542329161b637e7f274d218c52686f924bcbee3bf30d0d1
MD5 65856c3fa34c9de654d5f810e22c3091
BLAKE2b-256 132090dca12f64e6ada0f0fb762bd4c8a039b1595c75fe4cafa1f7b49bb74022

See more details on using hashes here.

Provenance

The following attestation bundles were made for animescraper-1.1.9.tar.gz:

Publisher: python-publish.yml on togashigreat/AnimeScraper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file animescraper-1.1.9-py3-none-any.whl.

File metadata

  • Download URL: animescraper-1.1.9-py3-none-any.whl
  • Upload date:
  • Size: 35.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for animescraper-1.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 83ed16a19eec8106995a9fc3ede5bbab84b4379614c79dcb1fcac8d658a23008
MD5 5d004d04b97569e7aaea88fe20eda13f
BLAKE2b-256 e8946e37a5daa7233dcb6313fec25c652ec259e184c62d87992f96fd358c5a7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for animescraper-1.1.9-py3-none-any.whl:

Publisher: python-publish.yml on togashigreat/AnimeScraper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page