NODE入门-简单爬虫

nodejs真是太酷了!

使用 http.get() 抓取页面,然后使用 jsdom 来解析页面(简单配置+jquery语法),简单代码如下:

var http = require('http');
// 使用 jsdom 来解析html https://www.npmjs.org/package/jsdom
var jsdom = require('jsdom');
// 抓取 V2EX 最新话题
var url = 'http://www.v2ex.com';

// 获取一个页面
http.get(url, function(res) {
    var body = '';
    console.log('状态码:', res.statusCode);
    res.on('data', function(chunk) {
        console.log('数据传输中...');
        body += chunk;
    });
    res.on('end', function() {
        console.log('数据传输完成:');
        // 使用 jsdom 解析抓取到的html
        jsdom.env(
            body,
            'http://code.jquery.com/jquery.js',
            function(errors, window) {
                var $ = window.$;
                console.log('数据传输完成');
                var len = $('.cell.item').length;
                console.log('找到最新主题', len);
                for (var i = 0; i & lt; len; i++) {
                    var title = $('.cell.item').eq(i).find('.item_title a').html();
                    var link = url + $('.cell.item').eq(i).find('.item_title a').attr('href');
                    console.log(title + '(' + link + ')');
                }
            }
        );
    });
}).on('error', function(e) {
    console.log( & quot; 发生错误: & quot; + e.message);
});

阅读全文

NODE入门-简单的文件管理器

今天学习了一个简单的CLI文件管理器的编写:

安装方法:

  • 运行 $ node index.js后会列出当前文件夹下的文件或文件夹
  • 选择文件,则显示这个文件内容
  • 选择文件夹,则列出这个文件夹下的文件

Hello, 这是小赖的第一个nodejs命令行程序!

阅读全文

NODE-写一个socket.io聊天室

前几天接触了WebSocket,感觉到了socket通信的强大,见《HTML5-WebSocket API 学习》。

小赖决定自己动手写一个基于nodejs+express+socket.io的聊天室应用,用来做node入门的小项目吧。

项目地址戳这里

今天实现的部分是:

  • 客户端与服务器通信

  • 多个客户端同时通信

  • 保存聊天记录和在线用户

安装方法:

  1. 下载到本地,安装需要的模块:$ npm install
  2. 打开服务器:$ node app.js
  3. 打开多个浏览器页面,分别输入昵称
  4. 可以开始聊天啦!
    这算是我试水学习node的第一个项目,代码托管到github上,慢慢捣鼓出一些东西来!

NODE-调试方法

NODE核心自带的STDIO模块,就是类似浏览器端的console.*()系列方法,可像浏览器端调试代码一样,简单对代码进行调试:

输出普通信息:

console.log() 在控制台输出信息,可用来记录一个函数是否执行、函数执行时某些变量的值

输出错误信息:

console.error() 输出错误信息,常配合try catch语句使用

判断代码块的性能:

console.time(‘mytime’)和console.timeEnd(‘mytime’)会输出代码块执行的时间

设置断点:

debugger; 遇到这句断点时,代码都会中止执行,按play可继续代码执行

安装node-inspector调试器

$ npm install -g node-inspector
使用node-inspector 对nodejs代码进行调试,需要环境:webkit内核浏览器

 

[javascript]
// file t6.js
var foo = function(){
var a = 3, b = 5;
var bar = function(){
var b = 7, c = 11;
a += b + c;
}
bar();
}
foo();

[/javascript]

阅读全文