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 = ; i < l.length ;i ++ ){
var li = l[i].getElementsByTagName('td')
if (!li || li.length < ) continue
var user_id = li[].textContent
var user = {
"name" : li[].textContent
, "dep" : li[].textContent
, "email" : li[].textContent
, "phone" : li[].textContent
, "qq" : li[].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 , ) )
process.stdout.write('\n 离职:' + quits)
}
fs.writeFile('./userlist.json' , JSON.stringify(userlist ,null , ) )
process.stdout.write('\nend');
}
)
})

jsdom 官网 https://github.com/tmpvar/jsdom

最新文章

  1. 如何设计一门语言(七)——闭包、lambda和interface
  2. 基于多线程的TCP服务器项目【开源】
  3. Beta阶段第二次Scrum Meeting
  4. Linux下对比两个文件夹的方法
  5. Swift入门篇-基本类型(2)
  6. 使用Unity开发Android的几种调试方法
  7. Flex 教程(1)-------------控件拖动
  8. php代理请求
  9. alt和title的用法区别
  10. Axure基础系列教程
  11. Windows串口编程
  12. 《Java从入门到放弃》JavaSE入门篇:文件操作
  13. app每次更新版本时调用js代码提示用户下载更新
  14. HDU/HDOJ 1867 A + B for you again
  15. POJ 2352 Stars【树状数组】
  16. [20171124]bbed的使用问题2.txt
  17. ERP出库审核业务(四十四)
  18. ThinkPHP框架 3.2.2 获取系统常量信息 连接数据库 命名空间的理解
  19. 并发编程 —— Timer 源码分析
  20. 软件测试 —— Bug

热门文章

  1. 又一次发现Oracle太美之glogin.sql
  2. LinkedList 方法知识点
  3. caffe:使用C++来提取任意一张图片的特征
  4. Extjs Grid 各种Demo
  5. 洛谷P1962 斐波那契数列(矩阵快速幂)
  6. DirectUI界面编程(一)创建第一个应用
  7. 顺序容器之vector
  8. pgpool如何对数据库节点进行状态检查及相关数据结构描述
  9. HDU 1203 I NEED A OFFER!【01背包】
  10. Core Graphics框架 利用Quartz 2D绘图