news 2026/6/10 14:47:24

Puppeteer,非常好用的一款爬虫和自动化利器~

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Puppeteer,非常好用的一款爬虫和自动化利器~

最近写爬虫采集电商数据,遇到很多动态加载的数据,如果用requests来抓包非常难,我尝试用了一个大家较为陌生的的工具——Puppeteer,它支持控制浏览器,能很好的采集动态网页,后来发现它不仅是一个爬虫工具,更是一个自动化利器。

Puppeteer是什么?

Puppeteer是一个JavaScript库,能控制浏览器操作网页,但也可以在Python中使用,通过pyppeteer来调用。

它通过DevTools协议控制Chrome或Chromium,可以用来自动化几乎所有的浏览器操作,比如点击、滚动、填写表单等等。

而且,它还能生成页面的截图和PDF,非常强大!

比如一个简单的操作,使用Puppeteer控制chrome打开百度首页,并且截图保存到本地,几秒可以搞定。

import asyncio from pyppeteer import launch async def main(): browser = await launch( executablePath=r"C:\\Chrome\\Application\\chrome.exe" # 替换为实际路径 ) page = await browser.newPage() await page.goto('https://www.baidu.com/') await page.screenshot({'path': 'example.png'}) await browser.close() asyncio.get_event_loop().run_until_complete(main())

Puppeteer有哪些核心功能?

Puppeteer最主要的功能是网页数据采集和自动化,它能做的事情有:

  • 自动化操作 实现表单提交、UI测试、键盘输入等操作的自动化控制。
  • ​现代化测试环境 基于最新的 JavaScript 和浏览器特性(如 ES Module、Web Components 等),构建先进的自动化测试环境。
  • ​性能分析 捕获网页时间线跟踪信息(Timeline Trace),帮助诊断加载速度、渲染阻塞等性能问题。
  • ​扩展程序测试 支持对 Chrome 扩展程序进行功能验证和交互测试。
  • ​生成网页截图和PDF Puppeteer可以自动生成网页的截图或PDF 文件(支持自定义页眉/页脚和排版格式),这对于生成报告或保存网页内容非常有用。
  • ​预渲染与 SEO 优化 爬取单页应用(SPA)内容,生成静态预渲染文件,模拟服务端渲染(SSR)效果以提升搜索引擎兼容性。

Puppeteer对比selenium的优势

selenium是更受欢迎的爬虫和自动化工具,那Puppeteer对比selenium的优势是什么呢?

首先,puppeteer能提供完整的浏览器调试协议(DevTools Protocol)控制能力,绕过了 WebDriver 中间层,所以操作延迟更低,执行速度快不少。

其次,puppeteer无头浏览器模式非常好用,其资源的消耗比是selenium + ChromeDriver要低约30%以上,对于大规模爬取很有用。

对于爬虫,puppeteer也更强大和友好,原生支持网络请求拦截与修改,能精确模拟设备传感器(地理位置、屏幕方向),而且可以直接生成 PDF 与截图(支持元素级裁剪、自定义视口),非常的方便。

使用Puppeteer的两种方法

使用Puppeteer有两种方法,分别是JS和Python

1、安装Node.js和Puppeteer,然后就可以开始编写脚本了。

基本操作:

2、在Python中,可以使用Pyppeteer的Python移植版本——Pyppeteer库,来实现类似的功能, 安装非常简单。

代码如下:pip install pyppeteer

以下是一个示例,使用pyppeteer模拟电商平台登陆。

总的来说,Puppeteer是一款很不错的爬虫和自动化工具,速度快而且可以处理复杂网页,大家可以试试。

如果你不擅长写代码,也可以尝试一些半自动化的的采集软件,比如八爪鱼、亮数据等。

八爪鱼是一款简单方便的桌面端爬虫软件,主打可视化操作,即使是没有任何编程基础的用户也能轻松上手。

八爪鱼支持多种数据类型采集,包括文本、图片、表格等,并提供强大的自定义功能,能够满足不同用户需求。此外,八爪鱼爬虫支持将采集到的数据导出为多种格式,方便后续分析处理。

使用和下载:https://affiliate.bazhuayu.com/hEvPKU

​亮数据则是专门用于复杂网页数据采集的工具,可以搞定反爬、动态页面,比如它的Web Scraper IDE、亮数据浏览器、SERP API等,能够自动化地从网站上抓取所需数据,无需分析目标平台的接口,直接使用亮数据提供的方案即可安全稳定地获取数据。

而且亮数据有个很强大的功能:Scraper APIs,你可以理解成一种爬虫接口,它帮你绕开了IP限制、验证码、加密等问题,无需编写任何的反爬机制处理、动态网页处理代码,后续也无需任何维护,就可以“一键”获取Tiktok、Amazon、Linkedin、Github、Instagram等全球各大主流网站数据。

web直接使用:https://get.brightdata.com/webscra

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 21:00:01

避免连接中断:screen 命令守护进程操作指南

让远程任务不再“断线即崩”:用screen实现进程守护的实战指南你有没有遇到过这样的场景?深夜正在服务器上跑一个数据库备份脚本,耗时六七个小时——眼看着快完成了,本地网络突然抽了一下,SSH 连接断开。再登录上去&…

作者头像 李华
网站建设 2026/6/9 20:06:35

Vivado 2019.1安装教程详:Ubuntu环境搭建完整示例

Vivado 2019.1 Ubuntu 安装实战指南:从零搭建稳定开发环境 为什么在 Ubuntu 上跑 Vivado? FPGA 开发早已不再是“Windows 专属”的领域。随着 Xilinx(现 AMD)对 Linux 平台支持的不断加强,越来越多的工程师、科研人员和…

作者头像 李华
网站建设 2026/6/10 10:07:14

会议纪要自动化生成:Fun-ASR实时流式识别功能实测

会议纪要自动化生成:Fun-ASR实时流式识别功能实测 在一场跨部门线上会议中,你一边发言一边看着屏幕上的文字逐句浮现——不是字幕,而是结构清晰、术语准确的会议记录草稿。这种“所言即所得”的体验,正逐渐从科幻场景走入现实办公…

作者头像 李华
网站建设 2026/6/10 11:21:03

IAR环境变量设置教程:操作指南

IAR环境变量设置实战指南:从零搭建高效嵌入式开发环境你有没有遇到过这样的场景?刚接手一个嵌入式项目,兴冲冲地打开命令行准备构建工程,结果输入iarbuild却提示:“不是内部或外部命令”。或者在CI流水线中&#xff0c…

作者头像 李华
网站建设 2026/6/10 11:22:07

CVE编号申请流程:重大安全问题及时披露

CVE编号申请流程:重大安全问题及时披露 在智能语音技术加速落地的今天,越来越多的企业开始将自动语音识别(ASR)系统部署于会议记录、客服工单、医疗转录等高敏感场景。作为由钉钉与通义实验室联合推出的高性能语音识别方案&#…

作者头像 李华
网站建设 2026/6/10 15:36:31

中小企业降本增效:自建ASR系统比调用API便宜多少?

中小企业降本增效:自建ASR系统比调用API便宜多少? 在客服中心的工位上,小李正焦急地等待一通30分钟会议录音的转写结果。进度条卡在85%,提示“API请求超时”。这已是本周第三次因网络波动导致识别失败。而另一边,财务部…

作者头像 李华