UNPKG

sbscrape

Version:
85 lines (76 loc) 1.89 kB
// Generated by CoffeeScript 1.7.1 (function() { var parsers, root, scrapeit, scrapers; parsers = require('./parsers'); scrapeit = require('scrapeit'); root = "http://socialblade.com/youtube/user/"; scrapers = module.exports; scrapers.stats = function(user, cb) { var retBad, url; if (user[0] === "'") { user = user.slice(1); } url = root + user; retBad = function() { return cb(null, { bad: true, badUser: user }); }; return scrapeit(url, function(err, o) { var page; if (err) { return retBad(); } page = parsers.page(o); return cb(null, { page: page }); }); }; scrapers.otherchans = function(user, cb) { var retBad, url; url = "" + root + user + "/otherchans"; retBad = function() { return cb(null, { included: [], other: [] }); }; return scrapeit(url, function(err, o) { var rows, _ref, _ref1; if (err) { return retBad(); } rows = (_ref = o("table")) != null ? (_ref1 = _ref[0]) != null ? _ref1.children : void 0 : void 0; if (!rows) { return retBad(); } rows.shift(); return cb(null, parsers.boxes(rows)); }); }; scrapers.similar = function(user, cb) { var retBad, url; url = "" + root + user + "/similarrank"; retBad = function() { return cb(null, { channel: [], view: [] }); }; return scrapeit(url, function(err, o) { var rows, _ref, _ref1; if (err) { return retBad(); } rows = (_ref = o("table")) != null ? (_ref1 = _ref[0]) != null ? _ref1.children : void 0 : void 0; if (!rows) { return retBad(); } rows.shift(); rows.shift(); return cb(null, parsers.boxes.similar(rows)); }); }; }).call(this);