当前位置: 首页 > news >正文

【实战案例】火语言 RPA 『获取多元素信息/属性值』抓取网页数据案例

之前我们用「表格数据提取」(https://www.huoyuyan.com/community/detail.html?id=396) 组件抓网页数据很方便,今天分享用「获取多元素信息/属性值」获取数据的方法,更灵活适配不同页面。

一、案例功能概述

抓取该网页的蔬菜价格(https://www.jnmarket.net/fruitsvegetables/dailyprice/vegprice ),包含产品名称、产地、最高价 / 最低价等字段。
区别于之前使用「表格数据提取」组件,这次咱们用「获取多元素信息/属性值」(提取网页元素的 outerHTML),再结合 XPath 解析字段 —— 适合表格结构不太规整、但能通过元素路径定位的页面。

二、实现的逻辑

整个流程是 “初始化→翻页循环→抓元素集合→解析字段→存数据”,简单说:
1、打开浏览器 + 访问目标网页,新建表格存数据;
2、用 While 循环实现翻页(控制 “下一页” 按钮的点击);
3、抓网页中所有数据行的 outerHTML 集合;
4、遍历集合,用 XPath 提取每个字段的内容;
5、把字段写入表格,最后导出 Excel。

三、实现的步骤

组件1、打开浏览器,选择浏览器类型


组件2、浏览网页,输入网址URL:https://www.jnmarket.net/fruitsvegetables/dailyprice/vegprice


组件3、表格打开或新建,新建空表格用于存储数据


组件4、表格数据初始化,初始化表格列头


组件5、For循环,为了演示,这里使用For循环限制一下采循环次数。


组件5.1、获取多元素信息/属性值,获取数据行的元素集合
目标元素 XPath:/tbody[@class='n-data-table-tbody']/tr(定位网页里的所有数据行)
属性:选outerHTML(把整行的 HTML 内容存下来)
输出变量:list(后续遍历使用)


组件5.2、ForEach循环,循环遍历list


组件5.2.1-5.2.7 Xpath提取,在 ForEach 循环内,拖 7 个「XPath 提取」组件(对应 7 个字段),每个组件参数如下:

字段XPath 提取的参数设置输出变量
产品名称源HTML文本T:{{item}};XPath:./tr/td[1],属性:源代码输出变量:产品名称
产地源HTML文本T:{{item}};XPath:./tr/td[2]/span/span,属性:源代码输出变量:产地
最高价源HTML文本T:{{item}};XPath:./tr/td[3],属性:源代码输出变量:最高价
最低价源HTML文本T:{{item}};XPath:./tr/td[4],属性:源代码输出变量:最低价
参考价源HTML文本T:{{item}};XPath:./tr/td[5],属性:源代码输出变量:参考价
规格源HTML文本T:{{item}};XPath:./tr/td[6],属性:源代码输出变量:规格
日期源HTML文本T:{{item}};XPath:./tr/td[7],属性:源代码输出变量:日期


组件5.2.8、打印日志,打印以上输出的结果,便于调试诊断
['{{产品名称}}','{{产地}}','{{最高价}}','{{最低价}}','{{参考价}}','{{规格}}','{{日期}}']
打印出来的结果:
['<!---->蒜头','江苏/河南','<!---->9','<!---->8','<!---->8.4','<!---->箱','<!---->2025-12-16']
组件5.2.9、字符串替换,根据上一步打印出来的结果,那么使用字符串替换,将<!---->替换成空值,
替换后样式:['蒜头','江苏/河南','9','8','8.4','箱','2025-12-16']


组件5.2.10、表格数据写入,创建整数变量行索引rowIndex,默认是0
写入到:
写入方式:追加
列索引:0-6
指定单行索引:{{rowIndex}}


组件5.2.11、变量赋值,给rowindex++操作(行号 + 1,下一行继续写)。


组件5.3、鼠标/元素点击,点击翻页按钮


组件6、表格数据导出,导出数据到指定路径

四、避坑指南

在实操中会疑问,变量rowindex到底是什么?流程为啥能 “认得出” 它对应表格的行?其实超简单 ——它不是流程天生认识的 “特殊变量”,是自定义的 “行索引标记”,通过参数绑定告诉流程:这个数对应表格的第几行。

咋用,分三步:

步骤1、先告诉它从哪行开始,

先创建一个变量:rowindex,(自定义的名字,你也可以叫hanghao/行号等,只要前后统一就行);
赋值内容:0(火语言 RPA 的表格行索引从 0 开始,0 对应 “表头下方的第一行数据行”)。
这一步的意思:告诉流程 “一开始,先把数据写到表格的第 一 行”。

步骤2、把rowindex绑定到「表格数据写入」组件的 “行索引” 参数

在「表格数据写入」组件里,找到 “行索引” 这个参数,填入{{rowindex}}(T模式下用{{rowindex}},#模式下:rowindex)。
「表格数据写入」组件的 “行索引” 参数,是专门用来指定 “要把数据写到表格第几行” 的 —— 咱们把rowindex变量填进去,就等于告诉流程:“用rowindex这个变量里的数字,作为写入的行号”。

步骤3、变量赋值:每写一行,让rowindex+1(避免覆盖)

直接写rowindex++,火语言 RPA 支持自增
这一步的意思:“写完当前行,下一条数据要写到下一行”。

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

http://www.cnnetsun.cn/news/109730.html

相关文章:

  • 如何快速掌握分子可视化:VMD-Python的完整入门指南
  • KolodaView开源项目完整贡献指南:从入门到核心开发者
  • VSCode遇上量子芯片:你不可错过的8个硬件兼容性检测要点
  • 27、垃圾邮件过滤与病毒防护:SpamAssassin 与 ClamAV 全解析
  • 告别复杂命令:5步打造你的专属版本控制系统
  • 20、Linux 文件编辑全攻略
  • 【征文计划】智旅无界:Rokid智能眼镜赋能下一代个性化旅游体验开发指南
  • 2026第六届CHWE出海网全球跨境电商展(深圳)有那些商机与新机遇
  • BGP联盟综合实验
  • ISO 26262汽车功能安全标准终极指南:快速掌握ASIL等级与安全生命周期
  • Uppy文件过滤终极指南:构建4层防护体系的完整方案
  • 部署AI Agent总卡在最后一步?深度解析考试环境中的隐藏陷阱
  • AI时代下的规范驱动开发:重塑前端工程实践
  • PTX VM 未仿真的硬件特性分析
  • AI系统成本优化实战:从技术债务到工程效率的转化路径
  • 【AI落地应用实战】基于 Amazon Redshift + dbt + MWAA 搭建现代数据栈
  • 实战前瞻:构建高并发、低时延的 Flutter + OpenHarmony 智慧零售全渠道平台
  • 【量子机器学习实战指南】:VSCode结果评估的5大核心技巧揭秘
  • 如何高效突破408冲刺阶段刷题瓶颈:个性化提分策略
  • 如何快速掌握多模态AI:视频内容理解的技术突破与实践指南
  • 【专家亲授】量子计算镜像兼容性测试的8大陷阱与规避策略
  • 如何为Web应用打造全球化体验?BewlyBewly国际化开发实战指南
  • 2025全栈工程师跨平台开发终极指南:5大实战能力快速提升
  • 从开发到生产:AI模型Docker化更新的3步极速落地法
  • Docker Buildx镜像推送实战(从入门到精通):企业级CI/CD流水线构建秘籍
  • drawio-libs专业图标库:技术架构可视化的终极解决方案
  • Book118文档下载工具完整使用指南
  • Wan2.2 AI视频生成终极指南:从创意到实现的完整突破
  • 双显卡MacBook的贴心管家
  • 手机内存告急?别怕!一起把1G视频“压缩”成小饼干