docparse-scraper-nst
Version:
Node Zombie based scraper to scrape bills from the NStar (supplier code "NST)" website
30 lines (28 loc) • 837 B
JavaScript
var inspect = require('eyespect').inspector();
var moment = require('moment');
var rk = require('required-keys');
module.exports = function (data, cb) {
var keys = ['accountNumber','bro'];
var err = rk.truthySync(data, keys);
if (err) {
return cb(err);
}
var bro = data.bro;
var html = bro.html('html');
var dates = bro.querySelectorAll('select[name=billDate] option' );
var numbers = [];
var invalidDateFound = false;
var output = dates.map(function(option) {
var dateString = option.innerHTML;
var valid = moment(dateString, "MMM DD, YYYY").isValid();
if (!valid) {
invalidDateFound = true;
return null;
}
return dateString;
});
if (invalidDateFound) {
return cb('invalid dateString found when getting bill dates on account homepage');
}
return cb(null, output);
};