当前位置: 首页 > 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.jsqmd.com/news/105829/

相关文章:

  • 如何高效学习汉字书写:9000个汉字的完整笔画动画教程
  • 【权威发布】2024年MCP量子编程认证考试趋势与应对策略
  • 【专家亲授】AI Agent上线前必查的7个故障点,错过=挂科!
  • Cirq代码补全适配实战:从0.4到1.x版本演进中的API变迁与应对策略
  • LinearDesign:5个关键步骤掌握mRNA序列优化技术
  • Q#与Python如何保持版本一致:90%新手忽略的自动同步技巧
  • COLMAP医疗3D重建:从入门到精通的全流程实战指南
  • VMware Unlocker:解锁macOS虚拟化限制的终极工具
  • VSCode加载量子神经网络模型慢如蜗牛?优化策略全公开,速度飙升10倍
  • Faze4六轴机械臂完整构建指南:从零打造低成本工业级机器人
  • Cirq代码补全不求人(从语法结构到IDE集成全路径解析)
  • 错过再等一年!MCP Agent续证考核倒计时冲刺攻略
  • 从零开始:如何用Champ轻松制作3D人体动画?
  • Docker容器启动慢、响应延迟高?这可能是云原生Agent资源调度出了问题!
  • 量子计算入门难?用VSCode+Jupyter 3小时快速上手模拟实战
  • 7步成为KolodaView核心贡献者:从开源新手到项目专家的完整指南
  • Q#文档生成效率差距拉大的真相:掌握这6步,你也能秒出文档
  • VAM插件管理器:5个步骤打造高效的Vim开发环境
  • VSCode中量子作业历史追踪全解析(仅限高级开发者访问)
  • MCP DP-420图数据库索引优化(从入门到精通的3个关键阶段)
  • 专业QuadriFlow四边形网格生成全攻略:从原理到实战应用
  • 【量子开发必备技能】:3个关键步骤完成VSCode下Qiskit项目部署
  • STM32 USB主机模式:构建低成本嵌入式视觉系统的完整指南
  • 【保姆级】Node.js 最新安装教程,附环境变量配置
  • 2025终极指南:3步掌握dupeguru重复文件清理神器
  • SetEdit完整指南:从入门到精通掌握Android系统设置编辑
  • Context7 MCP Server容器化部署:从环境困扰到一键启动的华丽蜕变
  • 【收藏】信息化项目造价咨询 成果质量控制要点
  • 智能数据集生成器:零门槛构建高质量LLM训练数据的完整指南
  • 【绝密泄露风险】:未配置正确的VSCode作业权限,你的量子代码可能已被窃取?