mal-scrape
scrapes info from myanimelist
installation
npm install --save mal-scrape
usage
when there is a function that takes options give it an Object with the uri GET params you want to give it, example:
client.topAnime({limit: 50})
will become:
https://myanimelist.net/topanime.php?limit=50
const MAL = require("mal-scrape");
const client = new MAL();
// get the top anime from rank 51-100
client.topAnime({limit: 50})
.then(output => console.log(output));
// get the top manga and get the details of the number 1 ranked
client.topManga()
.then(output => output[0].getDetails())
.then(details => console.log(details));
// search for boku no in anime and get the second page
client.search("boku no", "anime", {show:50})
.then(data => console.log(data));
// get the details from the anime with the id 5114
client.getDetails(5114, "anime")
.then(details => console.log(details));
// get videos from topAnime or topManga
client.topAnime()
.then(anime => anime[0].getVideos())
.then(videos => console.log(videos));
// get images from searches
client.search("boku no")
.then(data => data[0].getImages())
.then(images => console.log(images));
there are more examples in the examples folder
todo list
- get top list
- get details page
- get images from anime and manga
- get videos from anime and manga
docs
Classes
MALthe class that has all the functionality stuff
Typedefs
Posters :Object
TopInfo : Object
Top : Object
DetailsInformation : Object
DetailsStatistics : Object
Details : Object
SearchItem : Object
MAL
the class that has all the functionality stuff
Kind: global class
- MAL
- new MAL(prefix, url)
- .topAnime(options) ⇒
Promise.<Top> - .topManga(options) ⇒
Promise.<Top> - .top(type, options) ⇒
Promise.<Top> - .getDetails(id, type) ⇒
Promise.<Details> - .search(q, type, options) ⇒
Promise.<Array.<SearchItem>>
new MAL(prefix, url)
constructor, instantiates the object
| Param | Type | Description |
|---|---|---|
| prefix | strign |
it uses this in front of the request, you could use this to prevent cors errors in browsers |
| url | string |
the base url to use, default: https://myanimelist.net |
maL.topAnime(options) ⇒ Promise.<Top>
get 50 of the top anime
Kind: instance method of MAL
Returns: Promise.<Top> - - a promise with the data
| Param | Type | Description |
|---|---|---|
| options | object |
the GET options to give to the page |
maL.topManga(options) ⇒ Promise.<Top>
get 50 of the top manga
Kind: instance method of MAL
Returns: Promise.<Top> - - a promise with the data
| Param | Type | Description |
|---|---|---|
| options | object |
the GET options to give to the page |
maL.top(type, options) ⇒ Promise.<Top>
get a top 50
Kind: instance method of MAL
Returns: Promise.<Top> - - a promise with the data
| Param | Type | Default | Description |
|---|---|---|---|
| type | string |
"anime" |
the type of the top list: anime or manga |
| options | object |
the GET options to give to the page |
maL.getDetails(id, type) ⇒ Promise.<Details>
get the details of an anime or manga
Kind: instance method of MAL
Returns: Promise.<Details> - - a promise with the data
| Param | Type | Default | Description |
|---|---|---|---|
| id | number |
the id of the anime or manga | |
| type | string |
"anime" |
the type of the thing you want the details from: anime or manga |
maL.search(q, type, options) ⇒ Promise.<Array.<SearchItem>>
search for anime or manga, might also work for other things but I didn't test that
Kind: instance method of MAL
Returns: Promise.<Array.<SearchItem>> - - a promise with the data
| Param | Type | Default | Description |
|---|---|---|---|
| q | number |
the query/search terms | |
| type | string |
"anime" |
the type of the thing you want to search: anime or manga |
| options | string |
the GET options to give to the page |
Posters : Object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| src | string |
the src to the item of the top page. |
| srcset | Object |
the srcset of the item (an object with 2 sizes). |
| id | string |
the picture id of the img. |
| big | string |
the poster in an big size. |
| huge | string |
the poster in an huge size. |
TopInfo : Object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| runtime | string |
the runtime of the item. |
| members | number |
the members of the item. |
| episodes | number |
the amount of episodes of an item. |
| type | number |
the type of an item. this is different from the other type. |
Top : Object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| id | number |
the id of the item. |
| ranking | number |
the ranking of the item the list. |
| title | string |
the title of the item. |
| href | string |
the link to the item. |
| score | number |
the score of the item. |
| posters | Posters |
the poster of the item in different sizes. |
| type | string |
the type of the item. |
| info | TopInfo |
the basic info of the item. |
| getDetails | function |
returns a Promise with the details. |
| getPictures | function |
returns a Promise with the pictures. |
| getPics | function |
returns a Promise with the pictures. |
| getImages | function |
returns a Promise with the pictures. |
| getVideos | function |
returns a Promise with the videos. |
DetailsInformation : Object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| type | string |
the type of an item. this is different from the other type. |
| episodes | string |
the amount of episodes of an item. this will become an int. |
| status | string |
the status of an item: finished airing and that kind of stuff. |
| aired | string |
from when to when it aired. |
| premiered | string |
when it premiered. |
| broadcast | string |
what day and time it broadcasts. |
| producers | string |
the producers. this will become an array. |
| licensors | string |
the licensors. this will become an array. |
| studios | string |
the studios. this will become an array. |
| source | string |
the source. |
| duration | string |
the duration. how long an episode is. |
| rating | string |
the rating, pg-13 or something. |
DetailsStatistics : Object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| score | string |
the scrore of the item. |
| ranked | string |
the rank of the item. |
| popularity | string |
the popularity of the item. |
| members | string |
the amount of members of the item. |
| favorites | string |
the amount of favorites of the item. |
Details : Object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| title | string |
the title of the item. |
| type | string |
the type of the item. |
| score | number |
the score of the item. |
| rank | number |
the rank of the item. |
| popularity | number |
the popularity of the item. |
| members | number |
the members of the item. |
| synopsis | string |
the synopsis of the item. |
| poster | string |
the poster of the item. |
| video | Object |
the video on the details page of the item. contains the href to the embeded youtube thing and a youtube video id. |
| href | string |
the link to the items page. |
| alternativeTitles | Object |
the alternative titles of the item. |
| information | DetailsInformation |
detailed info of the item. |
| statistics | DetailsStatistics |
statistics of the item |
| getPictures | function |
returns a Promise with the pictures. |
| getPics | function |
returns a Promise with the pictures. |
| getImages | function |
returns a Promise with the pictures. |
| getVideos | function |
returns a Promise with the videos. |
SearchItem : Object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| title | string |
the title of the item. |
| href | string |
the link to the items page. |
| id | number |
the score of the item. |
| type | string |
the type of the item. |
| synopsis | string |
a short synopsis of the item. |
| posters | Posters |
different sizes of the poster. |
| getPictures | function |
returns a Promise with the pictures. |
| getPics | function |
returns a Promise with the pictures. |
| getImages | function |
returns a Promise with the pictures. |
| getVideos | function |
returns a Promise with the videos. |
| getDetails | function |
returns a Promise with the details. |