我遇到这样的情况,例如,我想在一个页面上刮擦公司的个人资料,其中具有20/30个不同的属性布局,将每个元素另存为列标题,然后通过目录进行分页并分别建立一个表页面作为一行,而列则是各个数据点(所有数据点在同一页面上,但在不同页面上是一致的)
现在,我一直在繁琐的复制文本和使用UI资源管理器查找元素的过程中,与屏幕抓取向导相比,这确实是一个痛苦。
例如,下面的是指向测试中的配置文件的链接,页面上的标签都是不同的,但是如果我要抓取另一页,标签将是相同的,因此可以分页并创建一个非常有价值的表所有这些公司中。
https://www.owler.com/company/tesla
Ref:https://forum.uipath.com/t/web-scraping-for-details-not-a-list-table/68802
但这不是解决方案
答案 0 :(得分:1)
根据文档,您可以抓取任何结构化数据。
https://studio.uipath.com/docs/about-data-scraping
由于owler中的数据是结构化的,唯一阻止您使用剪贴簿向导获取所有公司的信息的问题是无法指示下一步按钮 >在网页中导航到下一个项目。
因此,“在我看来”,您会以不同的方式解决这个问题。您可以尝试以下操作:
如果您不知道从哪里开始,请看看https://github.com/UiPath/ReFrameWork,我认为这是一个很好的起点。
答案 1 :(得分:0)
由于数据不是标准数据表格式,因此您已经发现,提取数据表向导将无法在此处运行。就是说,由于数据出现在不同公司的同一位置,因此可以使用动态选择器。例如,Founded数据字段将始终位于此选择器包含的位置:
-<-html app ='chrome.exe'title ='竞争对手,收入和员工-Owler Company Profil '/>
-<-webctrl css-selector ='body> div> div> div> div> div> div> div> div> div> div> div> div> div> p'isleaf ='1'tag ='P' parentclass ='right-block'idx ='1'/>
*请注意,我已将<标记替换为-<-以在Stack解释html时显示代码
,因此,页面可以更改为其他竞争者,但是“获取文本”活动中使用的相同选择器将产生与竞争者本身相对应的结果。
这将需要大量工作,因此最好评估这样做是否值得开发时间。如果您只是想熟悉该界面,我建议您使用一个更标准的数据表,该数据表将与向导配合使用,例如:https://editor.datatables.net/
这可能会不太令人兴奋,因为向导将充分执行。