后面这张图好搞笑
数据抓取典型案例全流程详解:提升稳定性

- 收藏
- 分享复制链接新浪微博微信
数据抓取是实现流程自动化最关键的技能之一,尤其是Web数据抓取,但面对每个具体的业务场景和网站,如何稳定、高效地实现数据抓取?
在实战中进行数据抓取时,需要注意哪些问题?
这篇文章我们就来通过一个企查查查询信息的案例,分析提高Web数据抓取流程稳定性的关键知识。
本文大纲
1. 数据抓取的基础逻辑
【数据抓取定义】
数据抓取是指在特定界面抓取指定数据,通过指定一个或两个元素,实现自动识别元素规律;通过指定下一页按钮,实现自动翻页获取数据。从而达到获取指定最大提取条数范围内的数据,提升工作效率。
对应组件:获取结构化数据。获取结构化数据组件在浏览器端和桌面端使用,实现数据抓取需求。
【如何实现数据抓取】
- 获取整表数据
- 获取整表内单列数据
- 获取整表内某几列数据
- 自动翻页,获取下一页数据
- 获取指定最大条数范围内数据
- 将获取到的数据存入数据表
2. 流程目标与获取
【流程目标】
打开企查查网站,输入关键词,查找指定地域、指定年份的案件信息,抓取所有被告的详细信息。
【流程获取】
首先,我们可以在云扩RPA编辑器流程市场获取本文相关流程:新建--输入“查询信息”--搜索--点击“企查查-查询信息”--点击“打开”
3. 流程设计分析
通过拆解流程目的,我们可以将流程拆解为四个部分:
【确定查询条件】
- 绑定浏览器,点击查风险
- 根据参数“关键字”设置,输入关键字,点击“查一下”
- 勾选“开庭公告”“立案信息”
- 选择地区,这里要注意的可能要点击“更多”展开所有地区,如果已经展开,这个点击失败后继续
- 选择年份
【搭建数据表】
【循环翻页抓取数据】
- 获取案件基本信息:案由、开庭时间、原告信息、被告信息
- 在被告链接列表中,若被告带有链接,则需打开链接,获取法定代表人电话、邮箱等信息
【数据存储】
4. 流程编辑
【修改组件名称,便于运维查看】
获取一个新的流程模板后,我们应当尽量将组件名称更改为与流程业务相关的名称,便于之后进行运维、他人查看。
例如,下图将4个“获取文本”更改为具体获取的文本内容,可以明确每个获取文本的具体内容,在出现问题时迅速定位到相关组件。
【使用锚点元素定位,保证定位稳定性】
选择变化可能性较小的元素,可以帮助我们定位稳定性。
在此案例中,由于法律风险分类可能会发生顺序或数量变化,但“开庭公告”、“立案信息”类型名称变化的可能性相对较小,因此我们可以通过所需的类型名称定位勾选框,提升元素定位稳定性。
【通过“获取结构化数据”抓取数据,保证信息完整度】
由于案例中每个案件的被告数量都不相同,我们需要使用获取结构化数据组件抓取所有被告信息,达到获取所有被告信息的目的。在获取的被告列表中,可以再通过对应的URL抓取被告的详细信息。
【循环遍历打开新页面获取信息,添加错误处理,保证数据抓取稳定性】
案例中,在获取被告详细信息时,可能会遇到被告信息不完整的情况,此时需要在流程中添加错误处理,设定如果信息缺失则忽略,由此可以提升流程稳定性。
- 总结
这篇文章,我们通过经典案例分析,讲解如何提高数据抓取稳定性。
在讲解之前,我们先理解了数据抓取的基本逻辑,清晰了数据抓取的定义和实现流程。
随后我们确定了案例的流程目标,可通过获取流程实操案例。
我们依据流程目标,分析确定了流程设计:确定查询条件、搭建数据表、循环翻页抓取数据、数据存储。
最后我们分析了流程编辑中提高稳定性的四个关键点:修改组件名称、使用锚点元素定位、通过“获取结构化数据”抓取数据、添加错误处理。
相关视频
【案例-通用010】数据抓取系列:3分钟解决二次抓取&数据延迟【云扩RPA】
【案例-通用011】数据抓取系列:我居然在企查查上自动获取了所有需要的详细信息:8分钟教你学会个性化查询指南【云扩RPA】
再学一会儿
程序员日常系列
与技术大牛交流 & 获取优质RPA实际案例 & 行业大咖+技术牛人讲解
扫码添加【云扩小助手】