首页 > 代码库 > 闲来无事爬了下通讯录 试手 jsdom

闲来无事爬了下通讯录 试手 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