您的位置:首页 > Web前端 > JavaScript

闲来无事爬了下通讯录 试手 jsdom

2014-06-27 12:29 274 查看
curl http://xxx.com/address/addresslist\?search\=%40 --cookie oa_cookie=123  -s| node parss
.js


  

js 代码

var jsdom = require('jsdom')
,fs = require('fs')
process.stdin.setEncoding('utf8');

var html = ''
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk !== null) html += chunk
});
var userlist = require('./userlist.json')
,userHash = JSON.parse(JSON.stringify(userlist) )

process.stdin.on('end', function() {

process.stdout.write('\n');
jsdom.env(html,
function (errors, window) {
var list = []
var l = window.document.querySelectorAll('#userlist tr')
for (var i = 0 ; i < l.length ;i ++ ){
var li = l[i].getElementsByTagName('td')
if (!li || li.length < 8) continue
var user_id = li[0].textContent
var user = {
"name" : li[2].textContent
, "dep" : li[4].textContent
, "email" : li[3].textContent
, "phone" : li[6].textContent
, "qq" : li[7].textContent.trim()
}
if (user_id in userlist ) {
delete userHash[user_id]
continue
}
user.join = +new Date()
userlist[user_id] = user
process.stdout.write('\n 入职:' + JSON.stringify(user))

}
var quits = JSON.stringify(userHash)
if ('{}' != quits)    {
var leaves = quires('./leaves.json')
for (var id in userHash){
leaves[id] = userHash[id]
}
fs.writeFile('./leaves.json' , JSON.stringify(leaves ,null , 4) )
process.stdout.write('\n  离职:' + quits)
}
fs.writeFile('./userlist.json' , JSON.stringify(userlist ,null , 4) )
process.stdout.write('\nend');
}
)
})


jsdom 官网 https://github.com/tmpvar/jsdom
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: