Puppeteer工具简介及其在网页爬取和自动化中的应用

简介: Puppeteer是一个流行的Node.js库,在开发者中广泛使用的用于网页爬取和自动化任务的工具。它提供两种操作模式,即headfull和headless。在headfull模式下,Puppeteer控制的Chrome或Chromium浏览器是有界面的,也就是可以看到浏览器运行的情况。在此模式下,可以使用浏览器的开发者工具进行调试。这种模式非常适合在本地进行开发和调试。而在headless模式下,它在后台运行,没有用户界面,这种模式非常适合在服务器上运行,因为没有界面,所以可以节省很多资源。

77.png

Puppeteer是一个流行的Node.js库,在开发者中广泛使用的用于网页爬取和自动化任务的工具。它提供两种操作模式,即headfull和headless。在headfull模式下,Puppeteer控制的Chrome或Chromium浏览器是有界面的,也就是可以看到浏览器运行的情况。在此模式下,可以使用浏览器的开发者工具进行调试。这种模式非常适合在本地进行开发和调试。而在headless模式下,它在后台运行,没有用户界面,这种模式非常适合在服务器上运行,因为没有界面,所以可以节省很多资源。该工具还提供缓存资源的选项,这可以帮助减少页面加载时间并提高性能。此外,Puppeteer允许开发人员在页面中执行JavaScript代码,并使用代理更改请求的IP地址,这对于匿名请求或从不同区域访问内容很有用。

代码示例:

constpuppeteer=require('puppeteer');
(async () => {
// 爬虫加强版代理IP和端口号constproxyUrl='http://www.16yun.cn:8080'; 
// 代理用户名和密码constproxyAuth='16YUN:16IP'; 
constbrowser=awaitpuppeteer.launch({
headless: true,
args: [
// 通过代理 IP 和端口号访问网站`--proxy-server=${proxyUrl}`, 
// 使用代理用户名和密码进行认证`--proxy-auth=${proxyAuth}`    ]
  });
constpage=awaitbrowser.newPage();
awaitpage.goto('https://www.xiaohongshu.com/video');
constvideoLinks=awaitpage.evaluate(async () => {
constlinks= [];
constvideoItems=document.querySelectorAll('a.video-item');
awaitPromise.allSettled(Array.from(videoItems).map(async (link) => {
consttitle=link.querySelector('p.title').textContent.trim();
constdescription=link.querySelector('p.desc').textContent.trim();
constresponse=awaitfetch(link.href);
consttext=awaitresponse.text();
constvideoUrl=text.match(/"videoUrl":"(.*?)"/)[1];
links.push({
url: link.href,
title,
description,
videoUrl      });
    }));
returnlinks;
  });
console.log(videoLinks);
awaitbrowser.close();
})();

以上的代码是使用 Puppeteer 框架的 headless 模式,通过爬虫加强版代理 IP 访问小红书的视频页面,获取视频的简介信息。代码中使用了异步方式处理页面元素,以提高爬虫的效率,同时还增加了对代理用户名和密码的认证。最终,代码将获取到的视频简介信息输出到控制台中。这个代码示例可以用于学习 Puppeteer 爬虫的基础知识,并且可以用于获取小红书的视频简介等类似数据。

目录
打赏
0
0
0
0
211
分享
相关文章
无需配置开箱即用!MoLing:基于MCP开发的自动化办公服务,一键搞定文件与网页操作
MoLing是一款基于Go语言开发的跨平台办公自动化工具,通过操作系统API和浏览器自动化框架实现文件操作、命令执行及网页控制,无需额外依赖即可运行。
91 1
无需配置开箱即用!MoLing:基于MCP开发的自动化办公服务,一键搞定文件与网页操作
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
Proxy Lite 是一款开源的轻量级视觉语言模型,支持自动化网页任务,能够像人类一样操作浏览器,完成网页交互、数据抓取、表单填写等重复性工作,显著降低自动化成本。
306 11
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
2025年销售自动化工具选型指南
本文探讨了企业在数字经济时代选择合适CRM系统的重要性,分析了选型的5大核心维度:AI能力、全流程闭环管理、生态集成能力、数据安全合规及供应商综合实力。同时对比了5家国内外CRM厂商,如Salesforce、纷享销客、Hubspot等,并指出企业常遇的3大选型误区,包括功能冗余、忽视数据迁移成本和迷信行业模板。文章强调,适合企业的CRM需与战略、管理和业务流程深度适配,而非单纯追求技术堆砌。最终提醒管理者,选择CRM时应以实际需求为导向,而非盲目迷信国际品牌。
Ansible与Jenkins:自动化工具的对比
Ansible和Jenkins是自动化领域的两大巨头。Ansible专注于配置管理和任务自动化,采用无代理架构,使用YAML定义配置,具有幂等性和可扩展性。Jenkins则擅长持续集成和持续交付(CI/CD),支持丰富的插件生态系统,适用于自动化构建、测试和部署。两者各有优势,Ansible适合配置管理与大规模部署,Jenkins则在CI/CD方面表现出色。结合使用可创建更强大的自动化工作流,提升团队生产力和软件质量。选择工具时应根据具体需求决定。
阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%
阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
FilmAgent 是由哈工大与清华联合推出的AI电影自动化制作工具,通过多智能体协作实现从剧本生成到虚拟拍摄的全流程自动化。
1072 10
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%
阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
Mobile-Agent 是一款基于多模态大语言模型的智能代理,能够通过视觉感知自主完成复杂的移动设备操作任务,支持跨应用操作和纯视觉解决方案。
966 10
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
179 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
自动化AutoTalk第十一期-应知必会的自动化工具之阿里云配额中心
本次分享主题为“应知必会的自动化工具之阿里云配额中心”,课程围绕三个方面展开:1) 认识配额及其作用;2) 配额管理的意义与方法;3) 阿里云配额中心的功能和使用场景。通过学习,了解如何有效管理和监控配额,避免资源限制影响业务,并实现自动化集成,提升运维效率。
73 10
下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等