【实战案例】火语言 RPA 采集澎湃新闻(滚动加载),保存到 Excel 全流程(附完整脚本)

简介: 通过模拟 鼠标滚动 加载更多新闻内容,获取新闻标题等关键信息,并将这些信息整理后写入 Excel 文档,实现从网页数据抓取到本地结构化存储的全流程自动化。

在数据采集场景中,会遇到网页滚动加载的动态内容的情况,下面使用火语言 RPA ,完整演示如何采集澎湃新闻滚动加载的新闻数据并保存至 Excel的场景。

一、脚本的功能描述

该火语言 RPA 脚本主要实现对澎湃新闻特定频道(https://www.thepaper.cn/channel_25951) 的新闻数据采集。通过模拟鼠标滚动加载更多新闻内容,获取新闻标题、内容板块、发布时间等关键信息,并将这些信息整理后写入 Excel 文档,实现从网页数据抓取到本地结构化存储的全流程自动化。
aced414e-804c-42dc-ade2-28ee087d6251.png

二、整体逻辑

具体逻辑说明:先通过变量初始化做好数据统计准备,再启动浏览器访问目标页面;通过循环模拟滚动加载,以 “滚动前后新闻数量是否变化” 为核心判断依据,确保加载到足够多的动态内容;加载完成后集中采集关键信息,最终结构化写入 Excel,实现全流程自动化。

1、初始化与准备

对存储滚动前后新闻数量的变量进行初始化,打开浏览器并访问目标澎湃新闻频道页面。

2、滚动加载判断循环

通过 While 循环控制滚动次数(为了避免无限制循环,这里设置滚动最多 20 次),在每次循环中先获取滚动前的新闻数量,然后模拟鼠标滚动至页面底部并等待加载,再获取滚动后的新闻数量。通过判断滚动前后新闻数量是否变化,确定是否继续滚动加载。

3、数据采集与存储

当滚动加载完成后,分别采集新闻标题、内容板块、发布时间等信息,最后将这些信息写入 Excel 中。

三、详细操作步骤

1、变量初始化

组件1、变量赋值
对 “滚动前新闻数量”“滚动后新闻数量”“滚动次数” 变量进行初始化赋值,其中 “滚动前新闻数量” 和 “滚动后新闻数量” 初始值设为 0,“滚动次数” 初始值设为 0。
4b926344-a77d-4b47-a8b8-18edd224378e.png

2、打开浏览器并浏览网页

组件2、打开浏览器,选择浏览器类型,这里选择的是内置浏览器
4b926344-a77d-4b47-a8b8-18edd224378e-1.png

组件3、浏览网页,输入网址URL
4b926344-a77d-4b47-a8b8-18edd224378e.png

3、进去滚动加载判断循环(While循环)

组件4、While循环,为了防止无限制循环,这里设置循环条件为 “滚动次数 <= 20”
0427c1c4-331d-4b43-8697-b1a4d0f444f5.png

进入循环后执行以下操作:
组件5、获取多元素信息/属性值:
调用 “获取多元素信息 / 属性值” 组件,定位目标元素 h2,获取其 textContent 值集合,输出变量 滚动前新闻列表 。
fca68a28-58fa-4007-a090-4c8275de40c0.png

组件6、变量赋值,获取滚动前的新闻数量,滚动前新闻数量=# 滚动前新闻列表.Count
ba6eadaa-94ef-42c9-8988-66e0269ed185.png

组件7、鼠标滚动,滚动鼠标,加载后面的新闻
4cbd78a3-1f88-47af-ba74-a50618afbf45.png

在实际调试中发现,首次执行鼠标滚动操作时,页面会持续处于加载状态,需执行一次向上滚动操作后,页面加载才能恢复正常。
28880979-c500-4d7c-a7ed-22712903622b.png

那么我们就通过“变量赋值+条件判断”来实现这一逻辑:首先初始化一个 “是否已执行顶部滚动” 的标记变量,初始值设为 “未执行”;在循环过程中加入条件判断,仅当该标记为 “未执行” 时,执行 “滚动到顶部” 的操作;操作完成后,立即将标记变量更新为 “已执行”,确保后续循环不再重复触发该操作。

组件8:变量赋值,创建一个鼠标滚动到顶部的布尔值,初始值:false,用于标记 “是否已执行过滚动到顶部的操作”。
ddc1e6ab-2243-4ec5-891b-cc2df283f3df.png
8f378e98-f131-435c-a207-c899e9593ed4.png

组件9:条件判断,如果鼠标滚动到顶部===false,则执行下面流程
7e584c23-9fa0-4f31-bee3-a30d14b24369.png

组件10:鼠标滚动,如果鼠标滚动到顶部===false则滚动鼠标到顶部
08ee62d2-2576-4364-803f-d188424f5c4b.png

组件11:变量赋值,执行鼠标滚动到顶部后,将变量鼠标滚动到顶部标记为ture,后续循环中将不再操作该步骤。
3fddd944-631c-4d31-8cd1-2b6eb3dea0e9.png

组件12、睡眠等待,等待新闻加载,这里设置等待5秒
e19210b6-e981-4fc8-82a1-179c19cf9225.png

组件13、获取多元素信息/属性值
调用 “获取多元素信息 / 属性值” 组件,定位目标元素 h2,获取其 textContent 值集合,输出变量 滚动后新闻列表 。
f0bfcaeb-38c3-4d9f-a496-5f03dcab1c24.png

组件14、变量赋值,获取滚动后的新闻数量,滚动后新闻数量=# 滚动后新闻列表.Count
1f135e50-ce1b-4b23-9b55-2f46d79ac7c3.png

组件15、条件判断,
组件16、循环终止

滚动前的新闻数量与滚动后的新闻数量进行,对比,如果滚动前的新闻数量=滚动后的新闻数量,则循环终止
6749760b-a5e8-4af3-93bf-aad9991c7f9b.png

组件17、变量赋值,则滚动继续,每滚动一次,次数+1
4941144c-0ecd-4c69-89b5-8604667e09d4.png

4. 采集新闻详细信息

循环结束后,分别调用 “获取多元素信息 / 属性值” 组件,采集新闻数据:

组件18、获取多元素信息/属性值,定位目标元素 h2,获取新闻标题的 textContent 值集合,输出变量到新闻标题;
88f539c3-a912-4feb-a65c-6b0c2ed1002a.png

组件19、获取多元素信息/属性值
定位目标元素 span.small_first____NUY > a,获取发布时间的 textContent 值集合,输出变量到内容板块;
ed64066b-0c9c-4f59-9648-31ea32b2fa81.png

组件20、获取多元素信息/属性值
定位目标元素 div.small_text__dR01h > div > p:nth-child(1) > span:nth-child(2),获取发布时间的 textContent 值集合,输出变量到发布时间。
9934fbb8-5b97-45ef-80ef-c72a6a57ff00.png

5、数据写入Excel

组件21、Excel打开文档,创建空的Excel用于写入数据
467f4c09-78b0-45f3-93ad-f3dc51dff403.png

组件22、Excel写入表头
d5c597a1-e70a-4616-87c4-66ffd4ba8165.png

组件23-25、Excel写入内容,写入变量新闻标题、内容板块、发布时间
d71e0ac1-7375-4dc8-8c3b-9347279c530e.png
5d6bfbd6-3d84-4845-a0ba-7f9cd6d19f86.png
d790aff5-335c-4d21-b167-1c6ea6043889.png

组件26、Excel关闭保存文档
组件27、关闭浏览器

d082322f-e580-4723-9ab8-d36776336961.png

完整案例分享:
https://www.huoyuyan.com/share.html?key=eyJhdXRvQ29kZSI6IkZhbHNlIiwia2V5IjoiZGRjMTAwOGNmN2NkNGNjNGE3NzkwOTJiNWMxYmRkMDQifQ== 提取码: 3MH2

相关文章
|
Kubernetes 关系型数据库 MySQL
制品库 Jfrog Artifactory 搭建私服
JFrog Artifactory 功能最强大的二进制制品仓库。在 Google、Apple、思科、甲骨文、华为、腾讯等众多世界500强公司中都有大规模使用,在二进制软件制品管理领域处于绝对领先地位。与其他服务不同,JJFrog Artifactory 在版本发行上分类较多且杂。
2144 0
制品库 Jfrog Artifactory 搭建私服
|
4月前
|
人工智能 自然语言处理 语音技术
Soul App联合西工大和上交大开源语音合成模型SoulX-Podcast,已登顶Hugging Face TTS趋势榜!
Soul AI Lab联合西工大、上交大开源SoulX-Podcast,支持中英粤川等多语种方言及副语言生成,可稳定输出超60分钟自然流畅的多人对话音频,已在Huggingface登顶TTS趋势榜。
741 0
Soul App联合西工大和上交大开源语音合成模型SoulX-Podcast,已登顶Hugging Face TTS趋势榜!
|
4月前
|
编解码 API C++
【实用技巧】火语言 RPA“鼠标 / 元素点击” 组件:模拟鼠标点击 vs 浏览器接口点击的核心区别
火语言 RPA“鼠标 / 元素点击” 组件中,有两种核心点击方式 ——“模拟鼠标点击” 和 “通过浏览器接口自动点击元素”,:前者是完全模拟真人手动操作的点击逻辑,后者则是直接向浏览器发送指令、触发元素点击功能。
|
6月前
|
算法 iOS开发 CDN
“企业微信iPad协议”第 0x04 天:当朋友圈接口在凌晨 2:14 突然返回 404
新品上线紧急任务:300位经销商朋友圈同步海报。突破官方限制,利用企业微信iPad协议私有接口,自动化上传发布。凌晨遭遇404,迅速定位并修复算法版本问题,最终高效完成推送,点赞超4200。技术在文档之外,也在边界之内。
303 0
|
网络协议 JavaScript 前端开发
WebSocket:实现客户端与服务器实时通信的技术
WebSocket:实现客户端与服务器实时通信的技术
|
存储 编解码 数据可视化
Visium HD空间数据分析、可视化以及整合 (2)
Visium HD空间数据分析、可视化以及整合 (2)
Visium HD空间数据分析、可视化以及整合 (2)
|
机器学习/深度学习 人工智能 编解码
【AI系统】轻量级CNN模型新进展
本文继续探讨CNN模型的小型化,涵盖ESPNet、FBNet、EfficientNet和GhostNet系列。ESPNet系列通过高效空间金字塔卷积减少运算量;FBNet系列采用基于NAS的轻量化网络设计;EfficientNet系列通过复合缩放方法平衡网络深度、宽度和分辨率;GhostNet系列则通过Ghost模块生成更多特征图,减少计算成本。各系列均旨在提升模型效率和性能,适用于移动和边缘设备。
1156 6
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
863 0
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
|
负载均衡 容灾 数据库
你知道三地五中心吗
你知道三地五中心吗
551 1
|
机器学习/深度学习 监控 数据可视化
关于运动员伤病预测数据集的探索(上)
关于运动员伤病预测数据集的探索
556 1

热门文章

最新文章