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

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

闲来无事爬了下通讯录 试手 jsdom,布布扣,bubuko.com

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

上一篇:mysql 事务 与 授权 忘记root密码的解决方式


下一篇:libnet介绍与分析