news 2026/3/2 13:44:18

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/3/1 9:55:43

GitHub Actions联动:CI/CD流程中自动执行语音测试用例

GitHub Actions联动:CI/CD流程中自动执行语音测试用例 在AI驱动的语音产品开发中,一个微小的代码变更可能引发意想不到的识别错误——比如把“二零二五年”误识为“两千二十五年”,或者因热词失效导致专业术语频频出错。这类问题如果依赖人工…

作者头像 李华
网站建设 2026/2/28 22:47:02

微调定制专属模型:基于Fun-ASR进行垂直领域适应训练

微调定制专属模型:基于Fun-ASR进行垂直领域适应训练 在医疗问诊录音中,“阿司匹林”被识别成“阿姨撕了零”,金融客服场景下“年化收益率”变成“年花由收益”——这些看似滑稽的误识别,实则暴露了通用语音识别系统在专业领域的致…

作者头像 李华
网站建设 2026/3/1 21:38:44

Amazon CloudWatch 的系统化知识点汇总

一、Amazon CloudWatch 是什么 Amazon CloudWatch 是 AWS 提供的 托管式监控与可观测性服务,用于:收集指标(Metrics)收集和分析日志(Logs)设置告警(Alarms)自动触发动作(…

作者头像 李华
网站建设 2026/2/23 18:17:29

提升生产力利器:将Fun-ASR嵌入日常工作流的五种方式

提升生产力利器:将Fun-ASR嵌入日常工作流的五种方式 在每天被会议、语音备忘录和客户通话填满的工作节奏中,你是否曾想过——那些说出口的话,能不能直接变成可编辑、可搜索、可归档的文字?更进一步,如果这个过程不需要…

作者头像 李华
网站建设 2026/2/28 3:10:04

微信小程序联动:扫码上传音频获取识别结果的新方式

微信小程序联动:扫码上传音频获取识别结果的新方式 在会议室角落的白板旁,一张不起眼的二维码静静贴着。一位员工走进来,打开微信,轻轻一扫——手机立刻跳转到一个简洁的上传页面。他点击“录音”,说完一段会议要点&am…

作者头像 李华
网站建设 2026/2/25 3:23:01

语音情感识别延伸方向:在ASR基础上增加情绪判断模块

语音情感识别延伸方向:在ASR基础上增加情绪判断模块 在智能客服系统中,一个用户反复强调“我已经等了快半小时!”——文字内容清晰明了,但若仅依赖传统语音识别(ASR),系统可能只会机械地记录这句…

作者头像 李华