Xanahol / Aniloader

Automated Anime-download from SubsPlease by using Web crawling, magnet links and qBittorrent. Update your entire library anytime with one command!
17 stars 3 forks source link
anime anime-downloader anime-schedule magnet-link plex plex-library qbittorrent scraper selenium-python standardizer subsplease-downloader torrent

Logo

Aniloader

Update your Anime-Library with one command!

Table of Contents
  1. About Aniloader
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. Contact

About Aniloader

As a frequent Anime-watcher and Series-Collector, who wants to stay up to date with the newest releases in an hourly fashion, I had to find a solution to the constant "Downloading all Episodes released that day in the evening". So I automated it. I hope that this Programm can lighten your day, even if just by a bit.

Not affiliated to source i.e. subsplease.org in any way
Support the official site subsplease.org

Here's why:

Of course, these are only some of the possible functions. So you can expect me to be adding more features soon. You may also suggest changes by forking this repo and creating a pull request or opening an issue.

Built With

Getting Started

Prerequisites

Installation

  1. Clone the repo
    git clone https://github.com/Xanahol/Aniloader.git
  2. Install requirements
    pip install -r .\requirements.txt
  3. Enter your settings in config.py
    #Example
    torrent_port = "8080"
    directories = ['C:\Example\Plex\Anime', 'D:\Example\Path\To\Plex\Anime']
    blacklist_do_not_download = ['Black Clover', 'Fire Force']
    blacklist_do_not_standardize = []

Usage

Here is how you can run the different modes and what they do:

Simple Download

Download a specific Anime / Update it in your library to the newest version!

To run, type:

  python.exe .\main.py -m getAnime  


Aniloader connects to SubsPlease and the qBittorrent Web-UI.

    Feb-28-2021 18:55:38 - INFO - Connecting to Subsplease
    Feb-28-2021 18:55:38 - INFO - Connecting to the qBittorrent
    Feb-28-2021 18:55:38 - INFO - Your IP is: 192.168.1.135


Aniloader starts up by asking for your qBittorrent-credentials. Type them into the console and hit Enter.

    Please enter your credentials for qBittorrent:
    Username: Xana
    Password (Invisible): MyVerySafePassword123
    Feb-28-2021 18:55:38 - INFO - Login successful!


It then proceeds by asking you for the Anime name. Type the name of the Anime you would like to update/download. It works the most reliable when the title is directly taken from subsplease.org:

    Which anime would you like to download?
    Akudama Drive
    Feb-28-2021 18:55:38 - INFO - This anime is batched
    Feb-28-2021 18:55:38 - INFO - Collecting batch-link for Akudama Drive | Season 1
    Feb-28-2021 18:55:38 - INFO - Collected batch-link


After the Links have been collected, they are submitted to qBittorrent.
If the anime/season folder doesn't exist, Aniloader adds it (first defined dir in config.py). If one does, it uses the one already defined.

    Feb-28-2021 18:55:38 - INFO - Starting Download-Process...

    Feb-28-2021 18:55:38 - INFO - The anime Akudama Drive has 12 episodes so far
    Feb-28-2021 18:55:38 - INFO - Downloading them to C:\Example\Plex\Anime\Akudama Drive\Season 01
    Feb-28-2021 18:55:38 - INFO - 3 of which are not on the server yet
    Feb-28-2021 18:55:38 - INFO - Deleting out of date files
    Feb-28-2021 18:55:38 - INFO - Inserting Links to download
    Feb-28-2021 18:55:38 - INFO - Inserting Download Path
    Feb-28-2021 18:55:38 - INFO - Submitting Links
    Feb-28-2021 18:55:38 - INFO - Process finished for Akudama Drive


At this point, you can monitor what is being put in your download-queue and you can delete whatever you don't need.

Update New Episodes

Update your library with the freshest Anime of the day!

To run, type:

  python.exe .\main.py -m updateNewEpisodes  


Aniloader connects to SubsPlease and the qBittorrent Web-UI.

    Feb-28-2021 18:55:38 - INFO - Connecting to Subsplease
    Feb-28-2021 18:55:38 - INFO - Connecting to the qBittorrent
    Feb-28-2021 18:55:38 - INFO - Your IP is: 192.168.1.135


Aniloader starts up by asking for your qBittorrent-credentials. Type them into the console and hit Enter.

    Please enter your credentials for qBittorrent:
    Username: Xana
    Password (Invisible): MyVerySafePassword123
    Feb-28-2021 18:55:38 - INFO - Login successful!


It then proceeds collecting the links of every Anime with the NEW-Tag:

    Feb-28-2021 18:55:38 - INFO - Found 14 Anime with the tag "New!"
    Feb-28-2021 18:55:38 - INFO - Collecting links for Non Non Biyori Nonstop | Season 1
    Feb-28-2021 18:55:38 - INFO - Collected 8 links
    Feb-28-2021 18:55:38 - INFO - Collecting links for Idoly Pride | Season 1
    Feb-28-2021 18:55:38 - INFO - Collected 8 links 
    ...


After the Links have been collected, they are submitted to qBittorrent.
If the anime/season folder doesn't exist, Aniloader adds it (first defined dir in config.py). If one does, it uses the one already defined.

    Feb-28-2021 18:55:38 - INFO - Starting Download-Process...

    Feb-28-2021 18:55:38 - INFO - The anime Non Non Biyori Nonstop has 8 episodes so far
    Feb-28-2021 18:55:38 - INFO - Downloading them to C:\Example\Plex\Anime\Non Non Biyori Nonstop\Season 01
    Feb-28-2021 18:55:38 - INFO - 1 of which are not on the server yet
    Feb-28-2021 18:55:38 - INFO - Inserting Links to download
    Feb-28-2021 18:55:38 - INFO - Inserting Download Path
    Feb-28-2021 18:55:38 - INFO - Submitting Links
    Feb-28-2021 18:55:38 - INFO - Process finished for Non Non Biyori Nonstop

    Feb-28-2021 18:55:38 - INFO - The anime Idoly Pride has 8 episodes so far
    Feb-28-2021 18:55:38 - INFO - Downloading them to C:\Example\Plex\Anime\Season 01
    Feb-28-2021 18:55:38 - INFO - 1 of which are not on the server yet
    Feb-28-2021 18:55:38 - INFO - Inserting Links to download
    Feb-28-2021 18:55:38 - INFO - Inserting Download Path
    Feb-28-2021 18:55:38 - INFO - Submitting Links
    Feb-28-2021 18:55:38 - INFO - Process finished for Idoly Pride
    ...


At this point, you can monitor what is being put in your download-queue and you can delete whatever you don't need.

Update Seasonal

Download all the Anime of the Season!

To run, type:

  python.exe .\main.py -m getAllSeasonal  


From this point on it is pretty much exactly as Update New Episodes

Update All

Download all Anime!

To run, type:

  python.exe .\main.py -m getAllAnime  


From this point on it is pretty much exactly as Update New Episodes

Standardize

Standardize your library for Plex!

To run, type:

  python.exe .\main.py -m standard

Aniloader will go through your library and standardize them for Plex:

    Feb-28-2021 19:30:46 - INFO - Renaming Hataraku Saibou Black Season 1
    Feb-28-2021 19:30:46 - INFO - Renaming successful
    Feb-28-2021 19:30:46 - INFO - Renaming Healin Good Precure Season 1
    Feb-28-2021 19:30:46 - INFO - Renaming successful
    Feb-28-2021 19:30:46 - INFO - Renaming Heya Camp Season 1
    Feb-28-2021 19:30:46 - INFO - Renaming successful
    ...


Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Noël B. - @_noel_br

Project Link: https://github.com/Xanahol/Aniloader