1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| 'use strict'; var _ = require('lodash'); var moment = require('moment'); module.exports.execute = function (str) {
var clean = function(arr,value) { for (var i = 0; i < arr.length; i++) { if (arr[i] == value) { arr.splice(i, 1); i--; } } return arr; };
var result = {}; var parts = str.match(/<tbody>(.+?)<\/tbody>/g);
parts = parts.map(function (p) { var t = p.replace(/ /g,'') .replace(/<[^>]*>/g, ' ') .replace(/ /g,' ') .replace(/ +/g, ' '); return t.split(' ').length > 13 ? t : ''; });
parts = clean(parts,''); var parts1 = parts[3].split(' '); parts1 = parts1.slice(13,parts.length - 1); var records1 = _.chunk(parts1,7);
var parts2 = parts[4].split(' '); parts2 = parts2.slice(13,parts2.length - 1); var records2 = _.chunk(parts2,7); result.records = []; _.forEach([records1,records2], function (t) { _.forEach(t,function(r){ var record = new Record();
record.rtime = moment([r[1], '00:00:00'].join(' '), 'YYYY/MM/DD HH:mm:ss').unix(); record.money = r[4]; record.content = r[2].replace(/ /g,''); result.records.push(record); }) });
return result; };
|