analyrics
Version:
A tool to fetch song lyrics and analyze them.
44 lines (36 loc) • 1.55 kB
JavaScript
var request = require("request");
var cheerio = require("cheerio");
var songs = [];
function getSongs(chart, callback) {
request(chart, function(err, resp, body) {
if (!err && resp.statusCode === 200) {
var $ = cheerio.load(body);
var rank = 1;
$('.chart-row__primary', '.js-chart-data').each(function() {
var title = $(this).find('h2.chart-row__song').text();
var artist = $(this).find('a.chart-row__artist').text().trim();
var image = $(this).find('div.chart-row__image').data('imagesrc');
var spotify = $(this).find('a.js-spotify-play-full').data('href');
if (image == null) {
image = $(this).find('.chart-row__image').css('background-image');
if (image !== undefined) {
image = image.substring(4, image.length - 1);
} else {
image = "http://www.billboard.com/static/frontend/2016_04_28_1601/assets/images/chart-row-placeholder.jpg";
}
}
var song = {
rank: rank,
title: title,
artist: artist,
image: image,
spotify: spotify
};
songs.push(song);
rank++;
})
return callback(songs);
}
});
}
module.exports.getSongs = getSongs;