如何使用cheerio和fs将网站转换为pdf

问题描述

我正在尝试从网站获取 pdf 文档,但我一直在获取 pdf 上的代码,而不是它的图片或“屏幕截图”。我要坚持cheerio和fs。

这是它保存的地方。

const pdf_completo = fs.createWriteStream('paginas/pdf_completo.pdf');

这是我试图用来获取它的函数

async function obtener_pdf_pagina(){
    const $ = await request({
        uri: 'http://quotes.toscrape.com/',transform: pdf => cheerio.load(pdf)
    });
    const todo_pagina = $('*');
    pdf_completo.write(todo_pagina.html());
}

解决方法

我不认为cheerio有任何截图功能。 Cheerio 解析 HTML 并为您提供一个类似于 DOM 的 API,您可以与之交互,但实际上并不在屏幕上呈现任何内容。

据我所知,你需要像 puppeteer 这样的东西来做截图(它使用 Chrome 浏览器引擎来渲染)