Node.js抓取HTML页面内容的两种实现方式

作者:服务小站

时间:2026-10-30

浏览:619

本文介绍了在Node.js中抓取HTML页面内容的两种核心方法。第一种利用原生http模块结合iconv-lite处理GBK编码数据;第二种通过Promise封装http.get请求,实现异步获取网页源码并返回HTML字符串,适用于百度等常见网站的内容抓取场景。

文章目录

Node.js抓取HTML页面内容的两种实现方式

以下直接展示Node.js抓取HTML页面内容的核心实现代码。

具体代码实现如下:


var http = require("http");
var iconv = require('iconv-lite');
var option = { 
hostname: "stockdata.stock.hexun.com",
path: "/gszl/s601398.shtml"
}; 
var req = http.request(option, function(res) {
res.on("data", function(chunk) {
console.log(iconv.decode(chunk, "gbk"));
}); 
}).on("error", function(e) {
console.log(e.message);
});
req.end();

接下来介绍另一种Node.js抓取网页内容的方法。


function loadPage(url) {
var http = require('http');
var pm = new Promise(function (resolve, reject) {
http.get(url, function (res) {
var html = '';
res.on('data', function (d) {
html += d.toString()
});
res.on('end', function () {
resolve(html);
});
}).on('error', function (e) {
reject(e)
});
});
return pm;
}
loadPage('http://www.baidu.com').then(function (d) {
console.log(d);
}); 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章