第14课:如何用RPA获取多网页内容?(练兵场一)

跟鹏飞学RPA——你爱学习,我爱分享。学习RPA就是这么简单。

从今天开始,我们将结合前期课程知识点开展为期四天的专项练兵。

★练兵介绍

场景:进入百度搜索,点击左上方的新闻进入热点新闻界面;要求使用循环命令分别点击并穿透新闻链接(取的链接为第1、3、5、7、9、11条),获取任意一段正文内容并输出。

所需命令:启动浏览器、点击目标、等待元素、数据抓取、获取元素文本、延时、计次循环。

★动作拆分

----启动浏览器

使用启动浏览器命令,属性配置浏览器类型和网址

----点击左上方新闻并进入界面

使用点击目标命令,注意因涉及界面跳转,可能因网络延迟导致下个界面出现时间较晚,加一条等待元素命令;目标为下一个界面任意不常变化的元素。

----抓取新闻链接备用

使用数据抓取功能,注意两个同级目标选择范围大一些,保证抓取整个网页数据;选择好两个同级目标后,抓取类型选择文字和链接。注意数据抓取结果为两个括号的,即二维数组。

----获取数组中指定链接

敲黑板,划重点。这里要仔细琢磨。

使用的是计次循环、打开网页命令。

上图是我们数据抓取时看到的表单形式,它输出的是二维数组。

上节课提到过,arrayData二维数组体现在表格里是一行一行的累加;也就是说,arrayData由多个一维数组组成,每个一维数组就是每行,如arrayData[0]是第一行、arrayData[1]是第二行……;我们要想取到里面的网址链接,显然需要继续取一维数组里的内容,比如我想取第一行网址链接是arrayData[0][1]、取第二行网址链接是arrayData[1][1]……

特别强调不要绕晕的一点,数组第一个元素下标为0,第二个元素下标为1。

下面我要用循环遍历数组取需要的链接了。

这里用到的是计次循环。取第1、3、5、7、9、11条新闻,则下标需要依次减少1;即初始值配置0,结束值为10,每次增加2即步进为2。

那怎么取链接呢?我们通过刚提到的表单可知,首先需要循环遍历每行,即为arrayData[i];而链接在每行第2个元素,下标应该为1,即arrayData[i][1]。

链接得到了,我们用打开网页的命令,网址内容即为arrayData[i][1]。

----获取标题、正文内容

使用延时、获取元素文本命令

因为网页可能有网络延时,这里并不适合等待元素命令。因为每个网页链接进入后没有相同元素,会造成捕捉失败报错。我们暂时加延时1秒。

然后使用获取元素文本获取一段正文内容,并应用输出调试信息输出。

从输出结果可以看到,每行输出一次内容。因为网页结构不同,有时会输出空值,可忽略,理解用途和含义即可。

下面看下运行视频。

循环获取网页内容#
视频号

★随堂作业

问题:应用上面的案例,获取2、4、6、8、10条新闻任意内容,并写入表格。表格命名为"新闻.xlsx",要求依次逐行写入。

★明日预告

读取表格内容,循环填写表单。

你学会了嘛?下课!

更多内容请关注跟鹏飞学RPA。



本文使用 文章同步助手 同步

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容