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
If you enjoy this project, please consider supporting it by giving it a star ⭐
Support Discord:
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 usageexamples/authentication.py- User authenticationexamples/download_episode.py- Downloading single episodeexamples/batch_download.py- Batch downloading episodesexamples/seasons_and_arcs.py- Working with seasons and arcsexamples/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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a90463610ad1c6e008bdfdd255acb5736de089ede989c366b5e708adc6268d3a
|
|
| MD5 |
cfbb7245a2afb016c2534052fae00702
|
|
| BLAKE2b-256 |
d6361cf53bab3adb96729176a8a1fef27ce4034361527e9c19b0ae2c93ec28e4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4b3744f4a06678fbe6b2f4b19de145b8fec35aaa36b352c4e37a7732fd4b6f1
|
|
| MD5 |
956e0e922a6e0a01737e739da84047b3
|
|
| BLAKE2b-256 |
63d8768c5e42b5551cf570a1ca7199801a4f122a2a6f81a0486fd6a19599d873
|