uipath 使用datascraping获取表格数据

本文介绍如何使用UIPath的Data Scraping工具从网页抓取表格数据,并将其保存为CSV文件的过程。通过实例演示了从打开目标网址、选择抓取范围到最终导出数据的具体步骤。

        作为uipath的初学者,同时也因为uipath在国内资料相对较少,希望可以通过记录自己的学习过程,给大家带来一些探讨,如如有不足,请积极佐证。谢谢!

        在这里,我将演示一个简单的通过datascraping工具录入表格到csv的实例。整个过程非常简单,但是却有着非常理想的效果,这也是我认同uipath的地方,我相信在不久的将来,uipath会在国内越来越流行。开始吧。

        我们使用IE11浏览器首先打开我们所需要爬数据的网站,其实uipath可以实现全自动化,即自己打开网站,只需要给它一个URL即可,以为这是简单实例。我 用IE11打开这个http://quotes.money.163.com/;

    

我们就要获取这里的表格信息,然后单击uipath的datascraping

选择next,开始选择所要获取的数据

因为我们本身选择的这个网页就是一个table样式,uipath的强大功能,自行判断并会提示是否要获取整个表格数据。

我在这里选择"是".

这样我们就得到了这个表格的数据了,然后finish,这里uipath会提示

是否是要记录这一页的数据,如果no,就自动生成数据,如果yes就会选择点击下一页的button,然后就开始记录新的数据。

这里我选择no,得到

我们可以进入方法,可以看到刚才做的许多操作。这是我们获取数据的方法。

那么我们怎么写到csv呢。

uipath拥有自己的数据基本类型,这里不做详述,我们通过data scraping保存的是datatable类型,这是uipath自行封装的一中数据库类型(笔者推测)。

我们将他的输出变量命名为ExtractDataTable,然后通过write csv输出

就可以得到csv格式的数据啦。

整个过程非常简单,uipath号称可以让不懂代码的人也可以实现全自动化操作。看好它!

目前是在uipath.com看他的官方视频,英文的内容有许多还是不太理解,或者理解有偏差,希望大家多多指正,我们一起学习和讨论。

 

 

<think>嗯,用户这次的问题是关于UiPath实现网页表格抓取的教程需求。根据提供的站内引用,用户已经接触过一些基础资料:引用1是官方数据抓取教程链接,引用2强调API级操作比UI自动化更可靠,引用3提到结构化数据抓取和写入Excel的具体操作,引用4说明DataTable变量的用法。用户可能正在尝试用UiPath做网页数据采集工作,但官方教程不够详细,需要更具体的操作指导。从ta提问方式看,应该是入门不久的用户——直接要教程和示例,说明需要手把手指导。考虑到数据抓取是RPA常见场景,需要重点解决两个痛点:如何准确提取表格数据,以及如何避免常见抓取失败问题。我之前的回复已经覆盖了核心功能演示,这次补充实用细节:在方案中强调选择器调试技巧(针对引用2的可靠性问题),增加保存到Excel的衔接(呼应引用3),并明确DataTable变量的应用方法(引用4的内容)。用户提到“优化原教程”,可能遇到过元素定位失败的情况,所以特意加入错误处理部分。用户没提具体网页类型,所以给出通用方案+特殊案例是最稳妥的。最后的问题设计成阶梯状:从基础定位到反爬措施,这样下次可以根据用户实际水平继续深入。要不要提醒测试环境呢?官方教程(引用2注)提到2020.10版本差异,但在基础操作层不影响,先省略版本说明避免干扰。对了,用户引用的资料里没提分页处理,但实际项目几乎都会遇到。这个必须作为进阶步骤补充,用页面计数器的思路比滚动更稳定——毕竟引用2说过API级操作更可靠。</think> 以下是基于UiPath实现网页表格自动化抓取的完整教程,结合最佳实践和官方文档优化步骤: ### 一、基础操作流程(结构化数据抓取) ```text 1. 打开浏览器 → 2. 导航到目标网页 → 3. 使用Data Scraping」工具 → 4. 存储到DataTable变量 → 5. 写入Excel ``` ### 二、详细步骤说明 1. **环境准备** - 安装「UiPath.Web.Activities」包(v20.10+) - 添加活动:`Use Application/Browser` > `Data Scraping` 2. **配置抓取规则** ```text a. 打开「Data Scraping Wizard」后点击目标表格的标题行(如第一行表头) b. 自动识别列结构(检查识别是否准确) c. 设置分页规则: - Next按钮定位 → 生成Selector - 选择「Extract linked data」(抓取链接内数据) d. 勾选「Enable learning」应对网页结构微调[^2] ``` 3. **数据存储配置** ```vbnet ' 在Sequence中添加: Extract Structured Data -> 输出变量: scrapedDataTable (System.Data.DataTable) ``` 4. **写入Excel示例** ```text 1. 拖入「Excel Application Scope」 2. 在Do序列中添加「Write Range」 - Range: "A1" - DataTable: scrapedDataTable - AddHeaders: 勾选(包含列名)[^3] ``` ### 三、关键优化技巧 1. **选择器增强方案** ```xml <!-- 原始可能失效的Selector --> <webctrl tag='TABLE' id='main-table' /> <!-- 优化后(动态匹配class) --> <webctrl tag='TABLE' class='*table-class*' idx='1' /> ``` 2. **异常处理机制** ```text Try |-- 数据抓取主流程 Catch (SelectorException) |-- 1. 刷新网页 |-- 2. 使用「Element Exists」检测元素变化 |-- 3. 动态更新Selector[^2] ``` 3. **非结构化数据处理** 若表格无法自动识别,改用: ```text a. 「Get Attribute」获取单元格文本 b. 「For Each Row」循环提取 ``` ### 四、完整示例项目结构 ```text Main.xaml ├── Invoke Browser (URL: "https://example.com/table") ├── Data Scraping (Output: dtCompanyData) ├── Write Range (Excel工作表: Sheet1) └── Recovery Scope (重试规则: 最大3次间隔5秒) ``` > 注:对于AJAX动态加载表格,需在抓取前添加 **「Wait For Element Ready」** 等待.class='loading'消失 ### 五、常见问题解决 | 问题现象 | 解决方案 | |---------|---------| | 分页按钮无法识别 | 改用「Simulate Click」+「Send Hotkey」触发翻页 | | 表格内容重复抓取 | 设置「Max Pages」属性限制翻页次数 | | 数据错位 | 检查Selector中列的idx序号是否对应 | | 内存泄漏 | 在Excel写入后执行「Close Workbook」释放资源[^3] | ### 六、进阶应用场景 1. 定时任务:通过**「Orchestrator队列」**每天自动抓取股票行情表 2. 数据验证:添加**「Data Validation」**活动检查空值/异常格式 3. 云端存储:连接**「Google Sheets」**替换Excel[^4]
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值