项目作者: ngomile

项目描述 :
Anime downloader that is fast and efficient
高级语言: JavaScript
项目地址: git://github.com/ngomile/anigrab.git
创建时间: 2020-03-14T08:21:05Z
项目社区:https://github.com/ngomile/anigrab

开源协议:The Unlicense

下载


anigrab · npm version PRS

Fast and efficient anime downloader that gets the episodes you need quickly, saving you your precious time and energy.

Features:

  • Download anime from various sources such as AnimeOut, GogoAnime, AnimeFlix and more
  • Save the download links of anime episodes to a file
  • Specify the episodes you want to download
  • Configure downloading options and site options
  • intuitively handles any quality from 1080p to even the most elusive ones
  • Can stream videos right from the sites

Supported Sites

  • 4anime
  • animeflix
  • animefreak
  • animekisa
  • animeidhentai
  • animeout
  • animepahe
  • animerush
  • gogoanime
  • hentaihaven
  • ryuanime
  • twist

Installation

You must have nodejs and npm and aria2c installed on your computer, preferably the more recent versions. Type this into your commandline.

  1. npm install -g anigrab

And you should be ready to get started using anigrab

Usage

Downloading

Downloading an anime is as simple as typing in the name of an anime which initiates a search for the anime. Ensure you have aria2c installed which is what is used for downloading otherwise downloading will not work. For example:

  1. anigrab beastars -e 10

This will make anigrab download episode 10 of Beastars from animekisa by default, to specify a site you can use the -s flag

  1. anigrab beastars -e 10 -s gogoanime

This will download Beastars episode 10 from gogoanime. If you want to get a little more specific in the episodes of the anime you want you can do this:

  1. anigrab beastars -e 1,5,10:12

This may look complicated at first but it basically means this will download episodes 1, 5, 10, 11 and 12 of the anime Beastars. Giving the direct link of the anime works as well:

  1. anigrab "https://www18.gogoanime.io/category/black-clover-tv"

Will download Black Clover from gogoanime

Command Line Options

You can specify some command line flags that affect the behavior of anigrab, these are:

  1. --help shows this help message
  2. -q, --quality quality of the video, can be 720p or 1080p or any other resolution
  3. -e, --episodes episodes to get for example "1,2,5:10"
  4. -w, --write writes stream urls by appending them to a file named anime.txt in current working directory
  5. -s, --site the site to get the anime from, choose animepahe, gogoanime etc.
  6. -u, --url prints stream url of episode
  7. --fb, --fallback comma separated string of qualities to choose if quality asked for is not found e.g 360p, 480p
  8. -d, --directory the directory to download the file to
  9. --sk, --skip skips downloading the file
  10. --xd, --external-downloader the external downloader to use to download the file, aria2c by default and currently aria2c only supported
  11. --ft, --filter-title regular expression to filter episodes based on their titles
  12. -p, --play plays the episode using mpv

Usage as Library

anigrab has useful functions that try to intuitively fetch the information of an anime. Each file that handles a site contains three functions it exports which are search, getAnime and getQualities. Usage is as simple as

Search, Get Anime and Get Qualities

  1. const { search, getAnime, getQualities } = require('anigrab').sites.siteLoader(
  2. 'animeout'
  3. );
  4. async function main() {
  5. const searchResults = await search('naruto'); // Initiates a search for Naruto, this is a promise so can be awaited
  6. const { url } = searchResults[0]; // Use destructuring to get url of search result at index 0
  7. const anime = await getAnime(url); // Retrieves the title of the anime and it's episodes, again this is awaitable
  8. const episodeURL = anime.episodes[0].url; // Episode objects contain their url, here we access the url of the episode at index 0 of the episode list
  9. const qualities = await getQualities(episodeURL); // This retrieves the available qualities of the episode as a map of qualities pointing to an object with the server that is host and the referer to use
  10. console.log(qualities);
  11. }
  12. main();

Similar Projects

Disclaimer

The developer of this application does not have any affiliation with any of the content providers available. If you like the content providers support them in anyway you can.