scrapefm
A lightweight last.fm scraper. Provides access to last.fm's album, artist, track and search features through a simple, intuitive API. This module does not require an API key.
Installation
$ npm install scrapefm
Examples
var scrapefm = ; scrapefm; // artist: Ty Segall// artist: Ty Segall Band// album: Melted// album: Slaughterhouse// ... scrapefm; // Melted by Ty Segall// 1. Finger - 173s// 2. Caesar - 183s// ...
API
scrapefm.search(terms, [options], done)
Search last.fm website for an artist, tag, album or track.
terms
is expected to be a string.
options
is an optional object with the following properties:
host: 'http://www.last.fm' // which base host to use for scraping needle: // options passed into each needle request
done
returns an array of search results (in order of relevance).
scrapefm.artist(terms, [options], done)
Fetch various information about an artist.
terms
is a string of the artist's name.
options
is the same options
described in .search
.
done
returns an object of the following:
artist: String description: String listeners: Number scrobbles: Number tags: String ... // the top <15 tracks tracks: track: String listeners: Number ... // the top <4 albums albums: album: String listeners: Number art: String tracks: Number ... // the top <6 similar artists similar: artist: String art: String ...
scrapefm.album(terms, [options], done)
Fetch various information about a specific album.
terms
can either be a string or an object. If terms
is a string,it's
searched and the first album found is used. If terms
is an object, it should
have the album
and artist
properties.
options
is the same options
described in .search
.
done
returns an object of the following:
album: String artist: String description: String released: Date label: String listeners: Number scrobbles: Number art: String // album art URL tags: String ... tracks: track: String duration: Number // seconds listeners: Number ...
scrapefm.track(terms, [options], done)
Fetch information about a specific track.
terms
can either be a string or an object. If terms
is a string, it's
searched and the first track is used. If terms
is an object,
it should have artist
and track
properties.
options
is the same options
described in .search
.
done
returns an object of the following:
track: String duration: Number description: String artist: String album: String listeners: Number scrobbles: Number art: String // album art URL tags: String ... similar: artist: String track: String duration: Number listeners: Number ...
License
MIT