首页 > 解决方案 > 如何解码节点中的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
}

标签: javascripthtmlnode.jspdfconverters

解决方案


推荐阅读