最近一直在学习,所以就没有更新博客,今天接触了新的项目,学到了新的内容,所以想立刻分享出来。

与网站爬取数据有关,有些时候,一些后端网站需要爬取的数据是数据表的形式,而Data Scraping不能识别,这个时候就需要一个一个抓取的时候该怎么处理

建议抓取时最先使用Data Scraping去尝试,这个绝对是最好用的,实在不行再去尝试其他方法。

 

 

这是后端平台的一张数据表,我想要抓取其位置信息(假设Data Scraping不能正常执行)

uikit swift 观察变量 uipath selector变量_Data

 

 

那就使用Get Text去一个一个抓取,这时候就需要用UI Explorer去考虑页面结构问题

uikit swift 观察变量 uipath selector变量_数据_02

抓取武汉的页面信息

uikit swift 观察变量 uipath selector变量_数据_03

抓取郑州的页面信息

 

 

可以看到两者发生改变的就是这个“parentid”中数字,而其数据又是与其序号相对应的

所以我们可以用变量的形式去表示,这样就能控制你想抓取的信息

uikit swift 观察变量 uipath selector变量_Data_04

 

这就是如何用变量表示其信息,要用“{{ }}”去包含你想使用的变量

uikit swift 观察变量 uipath selector变量_Data_05

因为影响这个变量的只有编号,所以只需要对编号(max_num)进行处理就可以表示这个title

 

 

这个方法能否成功执行其实与页面的css结构有很大关系,在这个测试网站就失败了。

具体原因:

uikit swift 观察变量 uipath selector变量_数据_06

因为前面还有一个内容就是这个 “aaname”信息,而这个信息恰恰是我不能提前知道的(我的任务就是想知道这个地址的名称)

 

如果我不勾选这个“aaname”

uikit swift 观察变量 uipath selector变量_uipath_07

 我去查看这个日期的选择器信息

 

uikit swift 观察变量 uipath selector变量_数据_08

 

可以发现其“parentid”是一样的,

因此没有前面的“aaname”,就Uipath完全无法得知你想取的内容究竟是啥,所以方法就失效了

 

总结:

所以对网页取进行爬取时,一定要注意其内容究竟是根据哪些条件去控制的。

但是这个用变量表示选择器的方法是一定可行的,对于一些特殊网站会很好用。