Skip to content

Instantly share code, notes, and snippets.

@denysonique
Last active December 24, 2015 22:49
Show Gist options
  • Save denysonique/6875493 to your computer and use it in GitHub Desktop.
Save denysonique/6875493 to your computer and use it in GitHub Desktop.
var request = require('request');
var cheerio = require('cheerio');
var pages, channel, link, url, page, week, songCount, list;
getMusic = function (link, pages, callfuck) {
console.log('Initializing Music retrieval...');
for (pageX = 0; pageX <= pages; pageX++) {
url = link + pageX;
console.log(url, pageX);
getPage(pageX, callfuck);
};
};
function getPage (pageX, callfuck) {
console.log('enter get page');
request(url, function(err, response, body) {
if(!err && response.statusCode == 200) {
$ = cheerio.load(body);
getSongs(body, callfuck)
} else {
throw err;
}
});
};
function getSongs(body, callfuck) {
console.log('enter get songs');
for (x = 0; x <= songCount; x++) {
var songName = $('td.channel:first-child').parent().nextAll().eq(x).children('td:nth-child(2)').text();
var songArtist = $('td.channel:first-child').parent().nextAll().eq(x).children('td:nth-child(3)').text();
var dateAdded = $('td.channel:first-child').parent().nextAll().eq(x).children('td:nth-child(4)').text();
list.push({'name': songName, 'artist': songArtist, 'date': dateAdded});
};
callfuck(list)
};
pages = 4;
//choose channel, week out of year (year + week #), page has to be last in link for looping, songs per page
channel = '&channel=51';
week = '&tdate=201340'
page = '&page='
link = 'http://www.dogstarradio.com/search_playlist.php?' + channel + week + page;
songCount = 5; //49
list = [];
getMusic(link, 0, function(songs) { console.log(songs)})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment