var casper = require('casper').create();
var users = ['mikeyaworski', 'PewDiePie']; // array of YouTube users
var j = 0;
casper.start();
console.log("\nYouTube:\n");
for (var i = 0; i < users.length; i++)
{
casper.thenOpen("https://youtube.com/" + users[i], function() {
var subscribers = this.evaluate(function() {
return document.querySelector('span.yt-subscription-button-subscriber-count-branded-horizontal.subscribed').innerText;
});
j++;
this.echo(users[j-1] + ":\nSubscribers: " + subscribers);
});
casper.thenOpen("https://youtube.com/user/" + users[i] + "/videos?view=0&flow=grid&sort=p", function() {
// link to most viewed video
var link = this.evaluate(function() {
return document.querySelector('a.yt-uix-sessionlink.yt-uix-tile-link.spf-link.yt-ui-ellipsis.yt-ui-ellipsis-2').getAttribute('href');
});
// open the most viewed video
casper.thenOpen("http://youtube.com" + link, function() {
var views = this.evaluate(function() {
return document.querySelector('span.watch-view-count').innerText;
});
var likes = this.evaluate(function() {
return document.querySelector('span.likes-count').innerText;
});
var dislikes = this.evaluate(function() {
return document.querySelector('span.dislikes-count').innerText;
});
var date = this.evaluate(function() {
return document.querySelector('span.watch-video-date').innerText;
});
// doesn't work
var comments = this.evaluate(function() {
return document.querySelector('div.DJa').innerHTML;
});
var v = "";
if (views != null ) {
if (views.indexOf("views") < 0) { // if doesn't already contain word "views"
v = " views";
}
}
var title = this.getTitle();
title = title.substring(0, title.length - 10);
this.echo('Most viewed video: ' + title + " - " + views + v + "\n " + date + "\n Likes: " + likes + " Dislikes: " + dislikes + "\n Comments: " + comments + '\n');
});
});
}
casper.run();
DOWNLOAD
Created: February 17, 2014
Completed in full by: Michael Yaworski