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

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

跟鹏飞学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。

jquery

获取

div

之间的内容,有两种方法,$(selector)text()、$(selector)html()

html:

1

2

3

test

$("div")text()

得到的是

test,是

div

的纯文本,会自动忽略

html

标签

$("div")html()

得到的是

test

,是

div

的所有内容,包括

html

标签,它有个好处是可以将

得到的标签与文字

直接再利用,比如添加到页面其他地方之类的 *** 作

一、参考代码如下:

<!doctype html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

<script src="jquery-211minjs"></script> 

<!--记得导jquery-->

<script>

    $ajax({

        type:'get',

        url:"demohtml",//这里是url

        success:function(body,heads,status){

            consolelog(body);  //body就是内容了,也就是url网页中的内容

        }

    });

</script>

</body>

</html>

重点代码说明:

$ajax({

type:"POST",//请求方式为post

url:"orderclassphptype=add",//请求的地址

data:dataFormid,//参数

success: function(mag){

//success指的是请求并成功返回信息

//msg是返回的内容

alert(mag);

}

});

举例

//假如后台返回的是一个JSON格式的字符串,如"{code:0,msg:\"执行成功!\"}"

success: function(data){

var json=evel("("+data+")");

alter(jsonmsg);//会d出执行成功的消息框

}

以上就是关于第14课:如何用RPA获取多网页内容(练兵场一)全部的内容,包括:第14课:如何用RPA获取多网页内容(练兵场一)、用jquery怎么获取页面的特定内容、javascript 怎么获取指定url网页中的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9302321.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存