Кукловод: как загрузить всю веб-страницу для автономного использования - PullRequest
0 голосов
/ 21 февраля 2019

Как бы я поцарапал весь веб-сайт со всеми его css / javascript / media (а не только HTML) без изменений с Puppeteer от Google?После успешной проверки его на других рабочих местах, я думаю, что он сможет.

Однако, просматривая множество отличных примеров в Интернете, очевидного метода для этого не существует.Самое близкое, что я смог найти, это вызвать

html_contents = await page.content()

и сохранить результаты, но при этом сохранить копию без каких-либо не-HTML элементов.

Есть ли способ сохранить веб-страницы для офлайниспользовать с Puppeteer?Буду признателен за любой совет.

1 Ответ

0 голосов
/ 22 февраля 2019

В настоящее время это возможно через экспериментальный вызов CDP 'Page.captureSnapshot' с использованием MHTML формат:

'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);
  }
})();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...