Catalog npm
Back to packageRELEASE DETAILS

0.0.6

npm

4anime

A web scraper for 4anime.to

Published10 May 2021
Direct dependencies3
Transitive dependenciesNot calculated

README

Current package documentation

4anime Web scraper

This anime web scraper uses the 4anime.to website to get data of any anime available on the platform.

The data includes the name, the genres, the description, the type of show, the studio that produced the show, the release date, the status- i.e. completed or ongoing-, the language- i.e. subbed or dubbed, the url of the page, and the episodes.

The episodes have the following information: the episode id, the episode number, and the episode url.

Installation

npm install 4anime

Information

Anime object structure

Anime {
  name: string,
  genres: array of strings,
  description: string,
  imageUrl: string,
  type: string,
  studio: string,
  releaseDate: string,
  status: string,
  language: string,
  url: string,
  episodes: array of objects
}

Episode object structure

    {
      id: int,
      episode: int,
      url: string
    }

Usage

There are two functions to this package. One takes in a string and returns a list of all anime that came from the search result. The other takes in a url to the anime page and returns all the data regarding that page alone.

Getting data from url

Anime.getAnimeFromURL("https://4anime.to/anime/the-god-of-high-school")
	.then(res => {
		console.log(res);
	});

Sample response

Anime {
  name: 'The God of High School',
  genres: [
    'Action',
    'Adventure',
    'Comedy',
    'Fantasy',
    'Martial Arts',
    'Sci-Fi',
    'Supernatural'
  ],
  description: 'It all began as a fighting tournament to seek out for the best fighter among all high school students in Korea. Mori Jin, a Taekwondo specialist and a high school student, soon learns that there is something much greater beneath the stage of the tournament.',
  type: 'TV Series',
  studio: 'MAPPA',
  releaseDate: 'Summer, 2020',
  status: 'Currently Airing',
  language: 'Subbed',
  url: 'https://4anime.to/anime/the-god-of-high-school',
  episodes: [
    {
      id: 42172,
      episode: 1,
      url: 'https://4anime.to/the-god-of-high-school-episode-01/?id=42172'
    },
    {
      id: 42546,
      episode: 2,
      url: 'https://4anime.to/the-god-of-high-school-episode-02/?id=42546'
    },
    {
      id: 42710,
      episode: 3,
      url: 'https://4anime.to/the-god-of-high-school-episode-03/?id=42710'
    },
    {
      id: 42822,
      episode: 4,
      url: 'https://4anime.to/the-god-of-high-school-episode-04/?id=42822'
    },
    {
      id: 42950,
      episode: 5,
      url: 'https://4anime.to/the-god-of-high-school-episode-05/?id=42950'
    }
  ]
}
const Anime = require('4anime').default;

Anime.getAnimeFromSearch("enen no shouboutai")
	.then(res => {
		console.log(res);
	});
const Anime = require('4anime').default;

Anime.getVideoLinkFromUrl("https://4anime.to/one-piece-episode-938?id=43181")
	.then(res => {
		console.log(res);
	});
Anime.getOngoingLinks()
  .then(res => {
    console.log(res);
  });

This function takes in the video link returned from the getVideoLinkFromURL() function and downloads the video either in current working directory of the .js file or a given path.

// No given path
Anime.downloadVideoFromLink("https://storage.googleapis.com/justawesome-183319.appspot.com/v2.4animu.me/Higurashi-no-Naku-Koro-ni-Gou/Higurashi-no-Naku-Koro-ni-Gou-Episode-04-1080p.mp4")

// With a given path
Anime.downloadVideoFromLink("https://storage.googleapis.com/justawesome-183319.appspot.com/v2.4animu.me/Higurashi-no-Naku-Koro-ni-Gou/Higurashi-no-Naku-Koro-ni-Gou-Episode-04-1080p.mp4", "./test")

Changes

  • Fixed "undefined" TypeError in getAnimeFromURL
  • Fixed 403 errors in episode links
  • Added video download functionality

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 3

Native requirements
3 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
axios
Environment
{
  "local_name": "axios",
  "alias": false,
  "peer_metadata": null
}
^0.21.1runtime
cheerio
Environment
{
  "local_name": "cheerio",
  "alias": false,
  "peer_metadata": null
}
^1.0.0-rc.3runtime
nodemon
Environment
{
  "local_name": "nodemon",
  "alias": false,
  "peer_metadata": null
}
^2.0.4development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-0tBf0D3cK2jG5kbsyc8kaXUnCZNjM/N3kZLSXTe6QF8FOo+6gE5jJTsCf6VvpRPfa3D4AF3EdliiMoYytRoaQQ==",
  "shasum": "52a41f537f410a880950ffeaadadc0702c9c5dae",
  "tarball": "https://registry.npmjs.org/4anime/-/4anime-0.0.6.tgz",
  "fileCount": 6,
  "unpackedSize": 13251,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmMWLCRA9TVsSAnZWagAAxwsP/3lgq2qjziKFzx17KqcC\na/mY8zxZSt09nezSniH8iA8+Oy19t5sEiBK1nkk2fei27BdK4GoXpDVqalXR\nWBkloHf8b0fU+64eLgbDqdtWHSwDgORoP3oMoAU4hZHWsG5Zxy07j5vuerDl\nzixmrkVnJA9qrOxCAjlVgn42A8sLHLIa5BUiDx75OY+uQ/MGLe6qM93dpLkI\nJcbbADVglyM2nuTWhuNjMPhCICvv61OIRjJpai8B2JeibL/Ee1TSA+2QVsmG\nbUU+F2Nz5Vg/CqrdstQdfeMycBmgqiYPzzaI1/tsHprxvVyAzyc4aYH6nZeP\n0i2scqbKvat8iwEqUdhBaMlI/eb/+LSRZT5aLUJI9NLrtnAmSyxPyohf8YEL\n47Y6StMHgtUP11m2C4nw2wm2Q2X1neyKjCxz8qMZ6gcjJUeBxnQzSUpvF3bX\nzddF8fniJm73a4lA3ZWWvFUAp3k5ZBRj7MCFeCgX1u9kMkzxMsxKPZx3ziAk\noJKKFJGsfMVzmusV8eGfvx7P/2nk/PcFN8x71NmWtyIhLPnf3QnMDMt0dcVk\n7lq3L+nT3HbwAvpiEijy0G/7+C1UT602cjEhtofXeqhB16cD70AbsHUfZAVP\nEq4x57hYY5XIs7gX2avH7ybWGkFkascfzJ3Xmy6EXFlT6afwOgWOW1MqYLKJ\nRH1H\r\n=3HoZ\r\n-----END PGP SIGNATURE-----\r\n",
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEUCIA5Gz8JCHi5SYS7/9HP8Lz/Ho7f4mpOKqLhJK0C6iW3HAiEA6EqAMQMQlG1ALtxJ/08QhJyYUncrfEDRs0lBZ14ogek="
    }
  ]
}

Repository

PENDING
sirakberhane/4anime

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 20:04 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:a6114c16d2e2fb0b5e076b017f720aecaab5412b22ed2dda5dffd8fa7fac0a33

Other collected versions

0.0.710 May0.0.510 MayView all collected versions →