Skip to main content

Modern Python library for parsing anime data from jut.su website

Project description

Jut.su Scraper | jut-su.py

Modern Python library for parsing anime data from jut.su website.

[!IMPORTANT] Is currently under development, so some features may not work properly or may not work at all

PyPI Python Version License PyPI - Downloads Discord

If you enjoy this project, please consider supporting it by giving it a star ⭐

Support Discord:

jut-su.py Community

Installation

pip install jut-su.py

Quick Start

from jutsu_scraper import JutsuClient

client = JutsuClient()

anime = client.get_anime("mayoiga")

if anime:
    print(f"Title: {anime.title}")
    print(f"Year: {anime.year}")
    print(f"Genres: {', '.join(anime.genres)}")
    print(f"Episodes: {len(anime.episodes)}")

Custom Headers and Logging

import logging
from jutsu_scraper import JutsuClient, setup_logger

setup_logger(level=logging.INFO)

client = JutsuClient(
    timeout=30,
    headers={
        "Custom-Header": "value"
    },
    use_random_ua=True,
    log_level=logging.INFO
)

Authentication

from jutsu_scraper import JutsuClient

client = JutsuClient()

# login_url can be any page URL (e.g., episode page)
success = client.login(
    username="your_username",
    password="your_password",
    login_url="https://jut.su/watari-ga-houkai/episode-19.html"
)

if success:
    print(f"Login successful! Authenticated: {client.is_authenticated}")
else:
    print("Login failed")

Downloading Episodes

[!WARNING] To download the video, you need to have a jut-su plus subscription.

import logging
from jutsu_scraper import JutsuClient, setup_logger, VideoExtractionError, DownloadError, NetworkError

setup_logger(level=logging.INFO)

client = JutsuClient()

# Login first (required for accessing video URLs)
try:
    client.login("your_username", "your_password", "https://jut.su/anime/episode-1.html")
    
    episode_url = "https://jut.su/watari-ga-houkai/episode-19.html"
    video_urls = client.get_video_urls(episode_url)
    
    if video_urls:
        print(f"Available qualities: {', '.join(video_urls.keys())}p")
        
        output_path = client.download_episode(
            episode_url=episode_url,
            quality="720",  # Options: "1080", "720", "480", "360"
            output_path="episode_19.mp4",  # Optional: auto-generated if not provided
            show_progress=True
        )
        
        if output_path:
            print(f"Downloaded to: {output_path}")
            
except (VideoExtractionError, DownloadError, NetworkError) as e:
    print(f"Error: {e}")

Batch Downloading

Download multiple episodes at once:

from jutsu_scraper import JutsuClient

client = JutsuClient()
client.login("your_username", "your_password", "https://jut.su/anime/")

anime_url = "https://jut.su/watari-ga-houkai/"

# Download all episodes
downloaded = client.download_all_episodes(
    anime_url=anime_url,
    output_dir="episodes",
    quality="720"
)

# Download specific season
downloaded = client.download_season(
    anime_url=anime_url,
    season_number=1,
    output_dir="season_1",
    quality="720"
)

# Download specific arc
downloaded = client.download_arc(
    anime_url=anime_url,
    season_number=1,
    arc_name="Arc Name",
    output_dir="arc_name",
    quality="720"
)

# Download specific episodes by numbers
downloaded = client.download_episodes(
    anime_url=anime_url,
    episode_numbers=[1, 5, 10, 15],
    output_dir="selected_episodes",
    quality="720"
)

Examples

See the examples/ directory for more detailed examples:

  • examples/basic_usage.py - Basic usage
  • examples/authentication.py - User authentication
  • examples/download_episode.py - Downloading single episode
  • examples/batch_download.py - Batch downloading episodes
  • examples/seasons_and_arcs.py - Working with seasons and arcs
  • examples/json_export.py - Exporting to JSON

Roadmap

Planned features for future releases:

  • 📖 Manga Support - Parse manga data from jut.su
  • 📺 Large Series Support - Enhanced support for long-running series

Implemented Features

  • Authentication - User authentication with username and password
  • Video Downloading - Download anime episodes with quality selection
  • Batch Downloading - Download multiple episodes, seasons, or arcs at once

Contact me

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

jut_su_py-0.1.5.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

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

jut_su_py-0.1.5-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

Details for the file jut_su_py-0.1.5.tar.gz.

File metadata

  • Download URL: jut_su_py-0.1.5.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for jut_su_py-0.1.5.tar.gz
Algorithm Hash digest
SHA256 a90463610ad1c6e008bdfdd255acb5736de089ede989c366b5e708adc6268d3a
MD5 cfbb7245a2afb016c2534052fae00702
BLAKE2b-256 d6361cf53bab3adb96729176a8a1fef27ce4034361527e9c19b0ae2c93ec28e4

See more details on using hashes here.

File details

Details for the file jut_su_py-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: jut_su_py-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 29.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for jut_su_py-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e4b3744f4a06678fbe6b2f4b19de145b8fec35aaa36b352c4e37a7732fd4b6f1
MD5 956e0e922a6e0a01737e739da84047b3
BLAKE2b-256 63d8768c5e42b5551cf570a1ca7199801a4f122a2a6f81a0486fd6a19599d873

See more details on using hashes here.

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