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);
});

阅读全文