Puppeteer 是 Chrome 開發團隊在 2017 年發布的一個 Node.js 包,用來模擬 Chrome 瀏覽器的運行。
demo只支持將簡單不需要翻頁,不需要登陸的頁面轉換為圖片
需要node環境,以及npm或cnpm包管理工具(自行百度)
開始
進入一個新的項目目錄,命令模式進入項目目錄
npm init
然后一直回車,內容可不填。
修改 package.json 文件為下面的內容:
//package.json
{
"name": "html_to_png",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"puppeteer": "^2.1.1"
}
}
安裝依賴
npm install
在項目根目錄下創建index.js文件
// index.js
// 引入puppeteer
const puppeteer = require('puppeteer');
// 需要生成的圖的文件名
const fileName = 'example.png';
// html網絡地址
const url = 'https://www.jianshu.com/p/5abd81129f8c';
(async () => {
const browser = await puppeteer.launch({
defaultViewport: {
width: 1600,
height: 937
},
});
const page = await browser.newPage();
await page.goto(url);
await page.screenshot({ path: fileName, fullPage: true });
await browser.close();
})();
運行
npm run start
等待幾秒后,如果在項目目錄下生成圖片,說明成功了。