Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lysagxra/animeunitydownloader

Efficient downloader for AnimeUnity
https://github.com/lysagxra/animeunitydownloader

anime anime-downloader bulk bulk-downloader concurrent-processing downloader parallel-processing python python3

Last synced: 7 days ago
JSON representation

Efficient downloader for AnimeUnity

Awesome Lists containing this project

README

        

# AnimeUnity Downloader

> A Python-based tool for downloading anime series from AnimeUnity, featuring progress tracking for each episode. It efficiently extracts video URLs and manages downloads.

![Screenshot](https://github.com/Lysagxra/AnimeUnityDownloader/blob/660079e23bc16e8b1996b463e213aecbb1a56294/misc/Screenshot.png)

## Features

- Downloads multiple episodes concurrently.
- Supports batch downloading via a list of URLs.
- Supports downloading a specified range of episodes.
- Tracks download progress with a progress bar.
- Automatically creates a directory structure for organized storage.

## Directory Structure

```
project-root/
├── helpers/
│ ├── anime_utils.py # Utilities for extracting information from AnimeUnity.
│ ├── download_utils.py # Utilities for managing the download process
│ ├── file_utils.py # Utilities for managing file operations
│ ├── general_utils.py # Miscellaneous utility functions
│ └── progress_utils.py # Tools for progress tracking and reporting
├── anime_downloader.py # Module for downloading anime episodes
├── main.py # Main script to run the downloader
└── URLs.txt # Text file containing anime URLs
```

## Dependencies

- Python 3
- `requests` - for HTTP requests
- `BeautifulSoup` (bs4) - for HTML parsing
- `rich` - for progress display in terminal
- `fake_useragent` - for generating fake user agents for web scraping
- `httpx` - for making asynchronous HTTP requests

## Installation

1. Clone the repository:

```bash
git clone https://github.com/Lysagxra/AnimeUnityDownloader.git
```

2. Navigate to the project directory:

```bash
cd AnimeUnityDownloader
```

3. Install the required dependencies:

```bash
pip install -r requirements.txt
```

## Single Anime Download

To download a single anime, you can use the `anime_downloader.py` script.

### Usage

Run the script followed by the anime URL you want to download:

```bash
python3 anime_downloader.py [--start ] [--end ]
```

- ``: The URL of the anime series.
- `--start `: The starting episode number (optional).
- `--end `: The ending episode number (optional).

### Examples

To download all episodes:
```bash
python3 anime_downloader.py https://www.animeunity.so/anime/1517-yuru-yuri
```

To download a specific range of episodes (e.g., episodes 5 to 10):
```bash
python3 anime_downloader.py https://www.animeunity.so/anime/1517-yuru-yuri --start 5 --end 10
```

To download episodes starting from a specific episode:
```bash
python3 anime_downloader.py https://www.animeunity.so/anime/1517-yuru-yuri --start 5
```
In this case, the script will download all episodes starting from the `--start` episode to the last episode.

## Batch Download

### Usage

1. Create a `URLs.txt` file in the project root and list the anime URLs you want to download.

- Example of `URLs.txt`:

```
https://www.animeunity.so/anime/1517-yuru-yuri
https://www.animeunity.so/anime/3871-chainsaw-man
https://www.animeunity.so/anime/2598-made-in-abyss
```

- Ensure that each URL is on its own line without any extra spaces.
- You can add as many URLs as you need, following the same format.

2. Run the main script via the command line:

```bash
python3 main.py
```

The downloaded files will be saved in the `Downloads` directory.