docparse-scraper-nst
Version:
Node Zombie based scraper to scrape bills from the NStar (supplier code "NST)" website
33 lines (31 loc) • 1.2 kB
JavaScript
var inspect = require('eyespect').inspector();
var login = require('./login');
var rk = require('required-keys');
module.exports = function(data, cb) {
var performLogin, goToLoginPage, getAccountNumbersOnPage, scrapeAllAccounts;
var keys = ['bro', 'config', 'supplierCode', 'logger', 'currentLogin'];
var err = rk.truthySync(data, keys);
if (err) {
console.log('missing key in scrapeForLogin', err);
return cb(err);
}
performLogin = data.performLogin || require('./performLogin');
getAccountNumbersOnPage = data.getAccountNumbersOnPage || require('./getAccountNumbersOnPage');
scrapeAllAccounts = data.scrapeAllAccounts || require('./scrapeAllAccounts');
performLogin(data, function (err, reply) {
if (err) { return cb(err); }
inspect('getting account numbers');
getAccountNumbersOnPage(data, function (err, reply) {
if (err) { return cb(err); }
inspect('got account numbers');
data.accountNumbers = reply;
scrapeAllAccounts(data, function (err, reply) {
if (err) {
inspect(data.currentLogin.username, 'error scraping all accounts for login');
return cb(err);
}
cb();
});
});
});
};