📅  最后修改于: 2023-12-03 15:38:05.642000             🧑  作者: Mango
Puppeteer 是一个 Node.js 的库,可以直接在 Chrome 或者 Chromium 浏览器中控制页面操作,其中包括截屏和截图等功能。下面我们将介绍如何使用 Puppeteer 下载图像。
在开始之前,你需要先安装 Puppeteer:
npm install puppeteer
注:在安装 Puppeteer 时,如果网络环境不佳,可以通过配置官方镜像源(
npm config set puppeteer_download_host=https://npm.taobao.org/mirrors
)加快下载速度。
const puppeteer = require('puppeteer');
async function downloadImage(url, path) {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
await page.screenshot({ path });
await browser.close();
}
downloadImage('https://picsum.photos/200', 'image.png');
以上代码将在当前目录下保存图片文件 image.png
。
下面我们将逐步解释如何使用 Puppeteer 下载图像。
首先,我们需要通过 puppeteer.launch()
方法创建一个浏览器实例,并保存在一个变量中。
const browser = await puppeteer.launch();
接下来,我们可以通过浏览器实例的 newPage()
方法,创建一个浏览器页面实例,并同样保存在一个变量中。
const page = await browser.newPage();
现在,我们已经拥有了一个页面实例,我们可以使用 page.goto()
方法去访问一个网址。
await page.goto(url);
最后,通过调用 page.screenshot()
方法截图,将截图保存在指定的路径中。
await page.screenshot({ path });
最后,通过调用浏览器实例的 close()
方法关闭浏览器实例。
await browser.close();
通过 Puppeteer,可以非常方便地实现浏览器自动化任务,包括图像下载等操作也十分简单。以上示例代码只是一个较为简单的示例,更多高级用法可以查看官方文档,或者阅读其他资料。