|
|
我们码农网就是gbk的网页编码,如果直接抓取会出现乱码的现象,
因为node.js默认是utf-8格式,也就是抓取之后,会当作utf-8来处理,导致乱码。
需要转码一下!!
代码:
- var http = require('http');
- var iconv = require('iconv-lite'); //解决编码转换模块
- var BufferHelper = require('bufferhelper')
- // Utility function that downloads a URL and invokes
- // callback with the data.
- function download(url, callback) {
- http.get(url, function(res) {
- var bufferHelper = new BufferHelper();
- res.on('data', function (chunk) {
- bufferHelper.concat(chunk);
- });
- res.on("end", function() {
- //注意,此编码必须与抓取页面的编码一致,否则会出现乱码,也可以动态去识别
- var result = iconv.decode(bufferHelper.toBuffer(),'GBK');
- callback(result);
- });
- }).on("error", function() {
- callback(null);
- });
- }
- function Init(url)
- {
- download(url, function(data)
- {
- console.log(data);
- })
- }
- Init("http://www.itsvse.com");
复制代码
注意:需要引用iconv-lite和bufferhelper的包
npm install iconv-lite -g
npm install bufferhelper -g
|
上一篇:C#开发邮件的POP3客户端来收信下一篇:discuz保持登陆状态的cookie(session)
|