本帖最后由 y294945022 于 2024-10-3 19:13 编辑
nodejs 爬取文章,文章中会随机出现 极个别的单个汉字 乱码:���
每次重新打印输出,乱码的汉字都会不同。这汉字也不敏感呀!
爬的网址是: 笔趣阁-热门的免费小说在线阅读网 (xzmncy.com)
网站编码是:utf-8
nodejs 默认的编码:utf-8 或 utf8
我测试过,再用其它 模块 重新再把utf-8转utf-8 ,或转gbk,或转gb2312 ,要么没有变化,要么是 更乱的乱码
下面是代码:const http=require('https')
const fs=require('fs')
const JSDOM = require("jsdom").JSDOM
var iconv = require("iconv-lite") //内部模块,不用安装
let req=http.request({
'hostname':'www.xzmncy.com',
'path':'/list/48396/22308472.html'
},res=>{
var arr=[]
var str=''
res.on('data',buf=>{
arr.push(buf)
str+=buf
});
res.on('end',()=>{
console.log(111,typeof str)
let DOM = new JSDOM(str)
let document=DOM.window.document
console.log(222)
//测试能正常输出 小说正文 , 但有极个别的 乱码���
console.log(document.querySelector('#htmlContent p').innerHTML.replace("<br>", "\n"))
// 在fc里即便加上utf8编码 或 utf-8,依然如上面一样有极个别的 乱码。
// fs.writeFile(${document.querySelector('h1').innerHTML}.txt ,sc,()=>{console.log(666) })
console.log(333)
});
})
req.end()
|