前几天啊给大家分享了这个 u l 的反序列化,今天呢给大家分享一下我们怎么实现一个参数对象的序列化。我们啊先运行一下这个代码,我拿到一个参数对象,我们把它给复制下来, 实现参数对象的序列化呢,它其实就是对我们这个 k a 六呢进行一个便利,然后呢将它拼接成这种等号形式的,加这个语号形式的一个参数对象就可以了,最终呢拼接到我们这个地址后面就可以了, 我们呢就通过代码给大家实现一下,我们呢通过呃我 jk 的点 n case 呢,将我们这个参数对象给传进来,将它呢转换成我们数组形式的 k y 六,我们可以看一下这个结果, 我们可以看到我们的 k y 呢变成了一个数组,然后呢我们是不是就可以通过 reducer 进行一个便利呢? excel 的默认参数呢?我们就给它传一个问号,因为我们第一个参数呢要需要一个问号, 然后我们接着往下写,把这个 proville 改一下,然后我们从 next 里面啊就可以解构出来我们的 k y 六, 最终呢我们瑞顿,我们的 pre 加上我们 k 值,再加上等号,再加上我们的 y 六值,再加上我们的这个雨号,最终呢我们输出一下这个结果, 此时呢我们可以看到我们输出的结果是不是就是一个参数对象序列化后的字符传,我们最终把它给拼接到我们这个地址后面,是不是就完成了我们的操作呢?但是啊我们可以看到最后一个是不是多了一个,多了一个雨号啊,我们把它给去掉, 嗯,我们可以在这里面接着往下写,叫 replace, 找到我们语号结束的这个, 然后呢将它替换成一个空字后传我们再运行一下,我们发现最后一个雨号是不是就没有了呀? 然后啊我们继续将它封装一个方法, 他接收的呢是一个我们的对象,然后返回的呢就是我们这一堆东西。 上面我们写一下注视参数呢,就是我们的参数对象返回值呢就是序列化。 我们再来调研一下这个方法, 我们可以看到没有任何的问题,这样的话我们是不是就可以将我们这两个方法给封装到一块啊? 这样我们就完成了我们参数的反序列化以及我们序列化的操作。
粉丝1132获赞6101

重启一下,然后呢再来看一下对应的效果哈,刷新一下,刷完了之后呢,我们还是来提交中文的张三的数据,然后呢,提交一下 pos 请求方式,没有问题,弄完了之后,你看数据不乱码了吧, 不乱码了,没有问题,对不对?好,那么 post 提交方式的中文乱码问题其实我们就解决完了哈,那 解决这个 pose 呢,也是很简单的,就是来设置这个输入的编码就可以了,设为 u 八。那么当然这个 u 八呢,是要根据刚才你看到的页面上的那个词,负极是什么样的,你就设什么样的页面是 u 八,所以我们设为 u 八号。 那么 pose 解决完了之后呢,我们再来说一下 get 方式的解决哈,那么 get 这一块呢,我们第三个事就是 get 方式,那么 get 方式是否可以用 pose 的方式来解决呢? 我猜不行,为啥呢?因为他们底层获取这个请求参数的方式就不一样嘛,这个 care parameter 是不是将来要判断是 get 还是 pose 的呀?

这节课来讲豌豆对象 window 是窗口的意思,他表示浏览器窗口这个对象里边有很多关于浏览器信息的属性,也有一些操作浏览器窗口的方法,这里只讲以下几个常用到的。 luck 是定位的意思,它包含当前 ur 信息。 ul 就是我们打开网页所看到的那个地址,包括 a 十, ttp、 冒号、刷斜杠、 w w 等。 这一串就是一个 uir, luck 上可以设置或者获取 uir 的每一部分。黑子 siri 是历史的意思,它包含用户访问过的 uil, 通过他我们可以控制浏览器前进或后退。欧喷方法,可以打开一个新的浏览器窗口, 把一个 ul 在新窗口中展示可乐的方法,可以关闭浏览器窗口来看代码, 这是一个链接,点击之后跳转到同底下的后面页面来看后面页面的代码。这个页面只有一个按钮,点击这个按钮的时候调用这个函数, 让页面返回上一页,这就用到了黑的特瑞,黑的特瑞下面有一个贝壳。方法来看效果, 点击 home, 跳到这个页面,点击范围,上一页又跳回来,这就是黑子 siri 的作用,如果我们想让这个链接在新窗口打开的话, 可以这么写, 看效果。点击 home, 在一个新的标线页打开了这个 home 页面。那如果不是链接而是其他元素呢?其他元素想要跳转链接,可以用点击事件来实现,把它改为按钮, 点击按钮,调用这个函数,函数里边这样写的, 通过设置 l k 肾的 hif 属性,让当前页面跳转到这个页面来看效果, 点击这个按钮,跳到这后面页面跟刚才效果是一样的,返回去要实现在进着窗口打开这个页面的话,用 oppo 方法看效果, 点击还是新的窗口,跟刚才用链接时候一样,搂 k 肾。还可以刷新页面,加一个按钮,点击按钮就用这个函数 搂 k 肾。有一个 re 漏的方法,会重新加载这个页面来看一下效果。刷新看到这个没有, 当前人面已经刷新了,再看一下,关闭窗口,点击他打开一个新的窗口,我们在这个新的窗口添加一个关闭按钮,让这个窗口关闭掉。 来看后面页面的代码,加上一个按钮,用这个函数 window delcos 看效果,关闭窗口,刚才那个后面页面就关闭了。前面其实我们已经用过 wifi 对象的属性和方法了,记住这两个, 这个尔勒特也是温度的方法,只不过这个温度可以省略, 同样呢,他也是把温度省略了。好了,这节课就到这里。

现在我们去看一下第三个问题,叫如何查找 u i l。 当我们在去编写爬床程序的时候,你可能最让你脑瓜子疼的就是如何去找到数据源在哪里?在这里呢,老师给大家列出了三种方式,第一种就是节省数据,你比如说我们去看一下京东, 那么我们去打开京东的这个网址,找到你的浏览器,我建议大家使用的是谷歌浏览器,找到谷歌浏览器双击打开, 然后在这儿的时候呢,我们去打京东,叫京东 dear come, 然后你在这里头搜,你想去盘哪个数据,你就搜哪个。你比如说我最近想买一款手机,我想看一下关于手机的一些评论数据怎么样?然后他在这的时, 他需要我验证一下,那这个时候呢,我去用我的手机去扫码登录一下, 登录完成之后,你发现我搜的手机所有的手机的这些数据就都已经出现了。我们看一下这个 oppo 这手机呢,它有五十万多的一条评论数据,我觉得这手机还不错,那我就把它打开, 打开之后呢,你要想查找的是这一个评论的数据,所以你要去点击一下他商品的评价,然后呢单击右键,你先去查看一下原代码, 单击右键去查看一下原代码,他的有这样的一句话,复制过来,到这里 ctrl 加 f 查找,看一下你有没有查找到你界面上所看到的数据,没有,那这个时候你就知道当你单击右键检查原代码的时候,这些数据都没有在原代码当中,那这个 数据在哪里呢?那么我们怀疑他的数据就有可能是阶层格式的数据,那这个时候你单击浏览器的右键选择检查,检查之后呢去找到这个 network, 然后紧接着我们在这的时候 你要重新的按一下刷新,刷新完成之后,你发现他在这里现在是不是就有一些请求了?因为我们怀疑他是阶层数据,那我们怎么去查找呢?你看到这个 放大镜了吗?他这个查找按钮,他上面写个设置,你去点一下他,然后紧接着呢你去找你的这个商品评价,我们就把刚才复制的这个外观大气 不过时,放到这个搜索框当中去搜索,然后你发现这个时候他搜索到了,你去点击一下,当你点击的时候,在你的右侧就会出现 这样的一个 respons 响音结果,你看这个响音结果好像是对的,对吧?你就找到 hiders hides 当中呢,这个就是数据的 u r l, ctrl 加 c 到这里的时候复制一下,你发现还真是数据的 u r l。 在这我一眼就看到了外观大气不过时, 但是这是第一种查找 url 的方式,那么我们再去看一下第二种查找数据的 url 方式,你比如说像这个天气网。第二种就是这种网页数据,你所有的数据都是他在网页原代码当中的,那你把这个复制一下, 先打开一个浏览器,我们去看一下,把这些关掉,他是一个天气网,我们要去调一下天气预报,在这他有一个预报,你要去看 看哪的呢?你比如说我去看一下北京的天气,然后紧接你,你往下说,我们实际上不是要找北京的天气,他下面有一个叫什么景点,推荐我去看一下 哪些景点天气情况。你比如说在这的时候这个数据在哪呢?他有没有在这个原代码当中呢?那你单击右键查看网页,原代码 ctrl 加 f。 他不是有个三亚吗?你在这搜三亚,你就会发现 三亚小雨转多云,三十二到二十五度。我们去看一下小雨转多云,三十二到二十五度。所以这种时候呢,他的数据都是直接在 htm 当中的,所以你直接享用回 htm 页面,然后就可以从当中去 提取数据了。这是第二种方式,那第三种方式呢?就是一个 g s 请求, g s 请求是什么样 子弹呢?那我们去看一下这是谁啊?这个是幺二三零六。幺二三零六是我们的一个购购票的网站,对吧?然后呢你把它拿过来, ctrl 加微粘贴,我们去看一下,这是他的首页,那我去查询一下他的车票,我点击单程。 点击单程的时候呢,你比如说要查天津到上海的,九月三号的天津到上海,九月三号还有这么多车次,那他这个,呃出发地和目的地上海是在原代码当中吗?你单击右键查看网页,原代码 ctrl 加 f, 你要查一下天津, 然后呢你发现呢?他在这的时候有个天津 c, 但是呢没有咱们刚才所查的一些到上海的一些数据,天津到上海的没有,那你就可以 否定了,他的数据并没有在 atm 当中,然后紧接着单击右键检查,去找 network, 再去刷新一下,再去刷新一下,你在这里再搜天津, 然后你发现他出现了很多,对不对?但是他有一个是北京,剩下的是 h t m l, 对吧?那么我们要去看一下他有个叫什么叫 station 呢?你知道 station 什么意思吗? station 不就是站台名称吗?你点击一下, 点击下面的他会出现这样一个东西,然后呢,这是一个 respons, 详情结果去找 hiders, 然后 ctrl 加 c 复制过来, 复制过来的时候到浏览器的窗口当中,你一打开发现这就是响应回来的数据,是所有的站台信息和他的一个站台名称的一个英文的,对吧? 那这个就是如何查找我们的 uil 数据,但有同学说,老师你只教我查数据了,你并没有教我如何把数据爬取到开层当中来。 我如何用解析数据呢? a, 想要了解的同学你可以去加一下杨老师的微信,然后呢,私聊我,我告诉你后面怎样去操作。

我们今天一起学习 wpsjs 红的几个批量处理功能,将多个文档的图片修改为统一尺寸,并添加页媒。按照惯例,先看效果,这是处理之前的文档, 这是处理之后的文档。其他批量操作亦可参考本视频代码操作,只要大家多利用录制红功能,就可以快速做出自己想要的功能来。看代码 添加一个 command 的按钮,方便功能调用。在 click 事件中调用我们需要的批量处理功能,代码做了详细注视,大家仔细观看。

在 low 大写的所有函数里边,一些面试官他特别喜欢考这个 get 函数,那么这个函数他做什么用的呢?他可以接收三个参数,第三个参数呢,是可选的,我们先来看他接收两个参数的情况。第一个参数呢,传的是一个对象,比方说他这里呢,给你举了些例子,可以传这么一个对象进去, 然后呢,第二个拆出来传的是一个制服串,这个制服串里边表示我要取这个对象里边哪些成员?比方说,哈,他这里告诉你,我要取这个对象里边的 a 这个属性他的第一个成员, 然后取他的 b 属性,然后取他的 c 属性。通过一个字符串来告诉他,我要访问这个对象里边哪一条路径下的成员的值,于是呢,他就取出来了这个 c 属性的值。三,看到没,他的核心逻辑就是这样。当然呢,也可以给他传递一 一个数组啊,把 a 零 b, c 作为一个数组传进去,再把它取出来,好了吗?我们来看一下第三个参数。第三个参数的意思呢,就是说,如果说你这条路径下取出来的数据呢,是 onto found 就没有, 那么他就会使用默认值 defort。 好,我们基于这么一个逻辑来实现一下这个 get 函数。好,函数在这儿给了你三个参数,如何来实现对象?没有什么争议,他就是一个对象而已。那么这个 pass 呢, 他是有可能是一个制服串,也有可能是一个数组。那么同学们觉得你在实现起来,他是一个数组好实现呢?还是一个制服串好实现呢?哪一种更好实现呢?是不一定是给你传递一个数组是最好实现的,对吧?先取出这个属性,然后再取出这个属性的这个属性, 再取出这个属性的这个属性是数组更好实现。好,我们先不考虑第三个参数,先不考虑传递支付券的情况,把问题简化,这是我们平时开发里边最常用的一个技巧,当你觉得这个问题可能比较复杂的时候, 先把问题简化之后再来处理好。那么现在我们问题就变成了这个问题了,第一个参数传一个对象,第二个参数传的是一个数数,这个数数里边依次表示如何去访问属性。那这个代码就好写了,怎么写呢?我先来一个变量来保存这个 upgrades, 然后去便利谁?便利这个 pass, 每一次便利出来,不就是它的属性名吗?对吧?它是一个数数,属性名,属性名,属性名,属性名,这个下标也是属性名吗?好,每一次便利,我干嘛了?是不是通过这个 obg t 来取出这个属性? 取了之后把它重新保存到 ob 界里边,没问题吧?这样子呢,就实现了依次取出它的每一个属性值啦。好,最后呢,我们把这个 ob 界返回,不就是我们最终需要的值吗?好,咱们马上来试一下啊,在这个简单模式下,看一下能不能得到我们的要求。 get, 传两个参数,第一个参数呢?传一个对象?好,这对象呢,我就前面去复制啊,好,复制过来,然后把这个 optics 传进去。接下来第二参数呢,是一个数组, 我们比方说先来取一个 a 属性,然后呢再取一个零,这个属性是不是取出来这个对象了?好,看一下能不能取出来啊?运行是不是可以取出来,然后再继续取他的 b, 这个属性 好,运球是不是可以取出来,然后再取他的 c, 这个足球是不是可以取出来?好,基本逻辑结构有了。然后接下来我们来处理各种特殊的情况,一个情况呢,就是 某一些属性访问不到,比方说这里我访问一个 k, 就是访问不到,那么这个时候会怎么样呢?他会爆出而按照这个函数的要求啊,其实你不知道函数要求的话,你用 notice 去试一试,看他得不到这个数据的时候,他应该返回什么。比方说我们来试一试啊,我们比方说写装备断带吧, 让它取 a 点儿 b 点儿 c, 但是它 a 就是 now, 这么 b 就取不出来,那么它会得到什么呢?奥体范它不会报错。 那么比方说我直接取这个 k, 这个属相有没有 k, 这个属相没有得到的是什么?皇帝范。那么如何来实现这一点呢? 有了这个基本的逻辑框架之后,我们只需要在这个结构上进行修改就可以了。比方说我们在便利的时候,首先验证一下这个 ob 界有没有值,如果说 ob 界没有值的话,怎么样?还能继续往后取吗?不行了,应该返回什么返回? 或者直接返回就行了,因为直接返回呢,就是奥迪翻增加了这个逻辑之后,我们再来运行是不是正常了?好,我们再看,我们现在去考虑第三个参数, deforge value。 第三个参数怎么说的,当你取不出来值的时候应该怎么样? 是不是应该返回默认值,对吧?所以呢,我们这里的 return 的时候,当前边的路径都取不出来,没有东西,比方说 novantifan 的,那他不可能往后边继续取属性了,一取就要报错,所以这个时候呢,我们应该给他返回默认值, defort value。 好,咱们来试一下啊,我们给它传递第三个参数 defort。 好,咱们来运行。是得到 defort 了,而你正常取值的话,它就没问题,但是还没完。那如果说是最后一个属性取不到呢?我现在是第一个属性取不到,对吧?那么现在如果说是最后一个属性取不到呢?表最后一个属性是 k 啊,运行 是不是还是得到了?是昂迪拜的,为什么呀?是因为在这种情况下,前边的判断每一个是不通过的,我们考虑最后一次循环。最后一次循环娶到哪了?娶到了这个对象了,对吧?那么这个对象能进衣服吗?这不会进,因为他这个对象有值啊。 然后取这个对象的哪个属相? k 这个属相,而这个对象有 k 这个属性吗?没有。那么取出来是啥?奥地贩,然后循环结束了,最后返回这个。所以呢,我们这里应该怎么去修改代码呢?是不是我们在最后返回的时候再做一个教验, 交验一下 o b 界是不是等于 on d 站的?如果说是的话,给他返回默认值,否则的话就返回他自身,这样子是不是就 ok 了呢?我们来试一下运行是不是 defort 了,然后再说一些其他测试,比如说取 c 能够正常取到,对吧?前面的属性没有指 也是返回 defort, 当你没有传递 defort, 那么第三个参数自然而然就是 o d 钙,那也不会有任何问题。 好,其他的问题都解决了,那么就剩下最后一个问题了,就是这个玩意要不是一个数组怎么办?他要是一个制服串呢?是这种情况呢?哎,我们就可以想个办法把这个玩意变成一个数组,那怎么变呢?咱们来做个实验, 我们来写一个正则表达式,这个正则表达式他匹配什么呢?他要把这个玩意变成一个数组, 那么要匹配的是不是除了中括号,我不要这个点我不要之外的其他制服,对吧?要匹配这个,要匹配这个,甚至还有可能要匹配这个,反正除了点除了中括号之外的其他制服。那么这里呢,我们可以这样写,匹配哪些制服呢?除了中括 号,对吧?左中括号、右中括号和点之外的字符,你看前面加了个取反,这些字符出现一次或多次。好,我们来测试一下,这个正则表达是用这个字符串去 much 好看一下匹配的结果把输出一下。 哎,是不是就是我们想要的东西,把这个字符串变成了一个数组,所以说这个代码呢,我们可以把它放上去 判断一下。如果说 type pass 是一个字符串,那么呢,我们就使用这个正则表达,是把这个 pass 呢转换成为一个住组,给他重新保存进去。 好,那么后边逻辑是不是一样的呢?对吧?后边都是统一处理数组的情况,那么接下来我们来试一下字符串的情况,我们要取这个属性 a 的第一项的, b 的 c 运行 是不是得到三啊?最后呢,我声明一下,在 no 大写的原码里边,这个正则表达是实际上是写的比较复杂的,因为他要考虑到很多的稀奇古怪字符的情况, 我们这里呢,不用去考虑那么复杂,我们把整体的逻辑结构给他写出来就可以了。好,这就是关,好,这就是关于这个 get 函数的首写代码,虽然没有几行,但我讲的很细很慢, 我把这个函数的所有实现思路都句系无疑的告诉大家,大家下来自己可以去试一试,按照这样的思路,你能不能把这个代码还原出来?

大家好,欢迎来到我的频道,这期视频将会承接上一期的内容。探索如何利用 uipf, 通过简单的设置,实现从招聘网站上抓取每个职位链接中的具体信息。觉得有帮助的朋友千万不要忘记点赞分享收藏。 首先我们选择 data scraping, 在跳出的窗口中点击 next, 点击网页上的职位名称,再点击 next, 点击第二个职位的职位名称, 修改获取到的数据的命名。由于这次我们要去抓取每个职位的具体信息,所以我们需要勾上 extract url, 点击 next。 由于只是演示,所以我就先只抓取五十行数据。大家在实际使用中可以按需填写或者填写零来抓取所有 数据。在弹出的窗口中点击 es 来抓取后续页面中的数据。这里可以按一下 fr, 否则无法滚动网页。当然也可以提前将网页滚动到换页按钮那里。我们来添加 excel 相关的功能 来保存抓取到的数据。这里我选择一张之前新建的空白表格,使用 right range 来写入数据。在加号里的 use variable 中选择 extract data table, 这个是上面抓取数据功能自动创建的一个数据表, 里面存储着从网页上抓取的数据。接下来我们添加一个 for each row in data table, 这是用来循环便利我们抓取的每一个职位的链接的。然后我们添加一个 navigate to, 这可以让浏览器导航到指定的网址这里我们 是要导航到之前抓取到的岗位链接,以便进一步抓取里面的信息。每个岗位的网址其实是在 extract data table 这个数据表的第二列中,所以我们这里需要选择 current row, 并且输入括号,在括号中打上亿。 因为 coronturo 的缩影也是从零开始的,零代表第一列,所以这里输入一代表第二列。然后我们还需要输入一个英文句号,打上 to string。 因为网址要求的是字符串,也就是文本的格式, 所以需要用 two string 来转换一下,不然这里的红色感叹号是不会消失的。我们回到 for each row in data table, 在 index 这个地方新建一个变量二,这个变量会在后面写入职位描述 的时候用到。接下来我们去网站里随便点击一个岗位,在 uipass 中用 get text 来抓取网页上的岗位描述。抓取完毕后,需要给抓取到的数据新建一个变量来存储,我给他他命名为 j d 版。完成后,我们需要将 j d 写入 excel 中的第三列, 使用 right sell 功能,在单元格这里把 a 一改成 c。 由于当前我们是在一个循环里进行写入数据的操作,所以具体是要写到 excel 中的哪一行是需要一个变量的。我们之前已经新建好了一个变量二, 所以直接在引号后面打上二加二。二,需要加二是因为 for each 所引也是从零开始的,并且我们的 excel 上的第一行其实是标题,所以需要在二上加二, 让他从第零行开始变成从第二行开始写入。接下来我们来设置需要写入的数据,直接在变量中选择 jd 即可, 这样一个能抓取每个职位链接中具体职位描述的 rpa 就完成了。我们先来还原一下网页,然后来测试一下运行情况, 可以看到 u ipad 已经控制浏览器进入了第一个职位的链接。我们来看一下 excel 中的写入情况, 可以看到每个职位对应的职位描述正在写入,我们现在只需要等待片刻即可获取到想要的数据了。好的,那么这就是这一期视频的全部内容了,感谢大家收看本期 期视频,希望你们学到了有用的技能。如果你有任何问题或者想要看到更多类似的内容,记得在评论区留言告诉我,我们下期见,继续探索办公自动化的奇妙世界吧!