从手动到自动:使用 Puppeteer 高效截取大量网页截图
最近生活出了那么一点小问题。给老板做了套系统,老板拿着去做小额贷款犯法了。所以我也是被警方控制协助调查,这下真从面向对象变成面向监狱了。不过还好,因为积极配合,问题不大。
但事情远未结束。警方要求我取证,把所有后台页面都截成图。零零散散算下来,大约有20万张截图。这要是手动来得干几个月都说不定。于是,我开始寻求能救命的自动化工具,这时,我发现了Puppeteer。
发现 Puppeteer
Puppeteer 是一个由 Google 开发的 Node.js 库,它为控制无头浏览器(如 Chromium)提供了简单的 API。它不仅支持网页截图,还可以执行各种其他任务,比如网页爬虫、自动化表单提交和生成 PDF 等。
Puppeteer 入门
要开始使用 Puppeteer,只需几个简单的步骤:
安装 Puppeteer:
1 | npm install puppeteer |
编写基础代码
下面是一个基础的 Puppeteer 脚本,用于打开一个网页并截取截图:
1 | const puppeteer = require('puppeteer'); |
运行这个脚本后,你将在项目目录中看到访问 https://example.com 后截取到的截图文件 example.png
最终实现
- 使用 Puppeteer 启动一个无头浏览器来打开特定 URL,并针对不同的 tag 进行多次抓取,每个抓取过程限速 5 个并行任务
- 为每个 data 项创建一个路径并将截图保存到该路径下。
- 为不同的 tag 设定了不同的加载延迟时间。
1 | const puppeteer = require('puppeteer'); |
结论
使用 Puppeteer 后,曾经需要手动完成的长时间截图任务现在只需短短几分钟或几小时就能搞定。如果你也有类似需求,试试 Puppeteer,相信它会成为你高效工作的利器。
- 感谢您的赞赏
赞赏名单
谢谢老板,给您磕一个
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自星河避难所
评论 ()