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