首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Puppeteer:如何下载整个网页以供脱机使用

Puppeteer:如何下载整个网页以供脱机使用
EN

Stack Overflow用户
提问于 2019-02-22 02:57:53
回答 1查看 6.9K关注 0票数 14

我如何用Google的Puppeteer抓取整个网站,所有的CSS/JavaScript/媒体都完好无损(而不仅仅是HTML)?在成功地尝试了其他抓取工作之后,我想它应该能够。

然而,通过在线查看许多优秀的示例,没有明显的方法来做到这一点。我能找到的最近的电话是

代码语言:javascript
运行
复制
html_contents = await page.content()

并保存结果,但这会保存一个没有任何非HTML元素的副本。

有没有办法保存网页以供Puppeteer脱机使用?

EN

回答 1

Stack Overflow用户

发布于 2019-02-22 07:46:44

目前可以使用MHTML格式通过实验CDP调用'Page.captureSnapshot'

代码语言:javascript
运行
复制
'use strict';

const puppeteer = require('puppeteer');
const fs = require('fs');

(async function main() {
  try {
    const browser = await puppeteer.launch();
    const [page] = await browser.pages();

    await page.goto('https://en.wikipedia.org/wiki/MHTML');

    const cdp = await page.target().createCDPSession();
    const { data } = await cdp.send('Page.captureSnapshot', { format: 'mhtml' });
    fs.writeFileSync('page.mhtml', data);

    await browser.close();
  } catch (err) {
    console.error(err);
  }
})();
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54814323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档