javascript - 如何解码节点中的html字符串
问题描述
我正在尝试制作一个网络爬虫,它可以从网站上获取轻小说文本并使用网站上的 html 创建 pdf。为此,我获取文本的 html 并将其转换为 DOM 对象,然后是我制作 pdf 的 HTML 代码字符串。我的问题是,一旦将其转换为 pdf,html 的编码会导致引号和其他字符变为 â。如何制作不出现奇怪字符的pdf文件?我在这里先向您的帮助表示感谢!
const request = require('request');
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
var htmlToPdf = require('html-to-pdf');
var BaseURL = 'https://www.wuxiaworld.com/novel/overgeared/og-chapter-';
for(let chapNum = 1; chapNum < 2; chapNum++) {//made to loop through many chapters
url = BaseURL;
url += chapNum;
request(url , (error, response, html) => {
if(!error & response.statusCode == 200) {
const dom = new JSDOM(html);
const chapterContent = dom.window.document.getElementsByClassName('fr-view')[1];//gets div I want
const filename = 'Overgeared_Chapter_' + chapNum + '.pdf';
htmlToPdf.convertHTMLString(chapterContent.outerHTML, filename,//takes the html string and makes pdf file
function (error, success) {
if (error) {
console.log('Worked...Not!');
console.log(error);
} else {
console.log('Actually Worked!');
console.log(success);
}
}
);
}
})
url = BaseURL;//resets url to be changed again
}
解决方案
推荐阅读
- shell - 卡在 [: 参数太多
- php - Sami API 文档生成器更新错误:“'/' 目录不存在 ('/')”
- react-native - 在 React Native 中调试(用户界面)的最佳方法是什么?
- c++ - 简单的指针问题(我不知道为什么我无法给出确切的解释)
- audio - imx7d 开发板上的 I2S 支持
- bash - 是否可以在 bash 中比较包含格式为“2019-04-16T13:65:00.7567981Z”的日期的变量?
- spring-boot - 如何让 Spring Boot 在浏览器中显示 Thymeleaf 解析错误
- php - 如何使用 PHP 在隐藏输入中包含 CSS 链接
- laravel - Laravel 5.5 处理失败的作业
- javascript - 从 2 个文本框计算