UNPKG

@naimi/alib

Version:
39 lines (32 loc) 1.24 kB
const fs = require("fs"); const puppeteer = require("puppeteer"); (async () => { const url = process.argv[2]; if (url == undefined) { console.log('Usage: node puppeteer-save-mht.cjs "URL"' + '\ne.g.: node puppeteer-save-mht.cjs "http://google.com"'); return; } const browser = await puppeteer.launch(); //const browser = await puppeteer.launch({args:['--proxy-server=socks5://127.0.0.1:9050']}); // use tor const page = await browser.newPage(); await page.setViewport({ width: 1600, height: 2200, deviceScaleFactor: 1 }); // await page.setRequestInterception(true); // page.on("request", (request) => { // console.log(`Intercepting: ${request.method} ${request.url}`); // request.continue(); // }); await page.goto(url); // await page.waitForNavigation({waitUntil: 'load'}); // await page.waitForNavigation({ waitUntil: "networkidle0" }); await page.waitFor(5000); //! save const title = await page.title(); const fn = "dl-" + title; console.log(title); await page.screenshot({ path: fn + ".png" }); const data = await page.content(); // console.log(data); fs.writeFileSync(fn + ".html", data); browser.close(); })();