那你还记得这个节省体育器的这个表达式怎么写的吗?节省表达式怎么写的吗?大家好,不是很熟悉。表达式其实就是多了符号点,然后你一步一步怎么找到 get 点多少多少,那个就是表达式。
粉丝3.4万获赞22.0万

在前面一节课,我们使用存储过程,像这一个目录表里面插入了上课所用的数据。这一节课我们来讲解,选取淘宝首页的所有的分类数据, 我们在前面做 htm 页面以及做 gs 的时候,这些数据是哪里来的呢?老师直接给了你一个精神格式的数据, 老师通过这一句话向数据库发送请求,获取的 jason 数据保存在二点 value 里,获取的 jason 数据保存在这里,而这些 jason 的数据是如何选取出来的嘞?这就是这一节课我们讲解的内容, 我们要从数据库当中选取出淘宝首页的第一层数据以及第二层数据,我们下面去数据库选第一层和第二层数据。 按照上一节课的做法,我们首先在程序里面添加一个文组过程, 在视力代码里面的存储过程的名称叫做 select home directory, 这个存储过程的名称是自己取的,为了让大家更容易的明 明白互联网程序的流程,我们一会制作的时候不用这个名字,我们换一个名字大家就能知道哦。什么是数据库了, 那我们取个什么名字呢?我们就叫选取淘宝首页哄 data, 我们就不用以前那一个名字了,以前这个名字叫 select home directory, 我们用这个名字 我选第一层数据 select 新 front, 从 directory 表选取所有的数据,条件是什么呢?母亲 id, parent id 等于零, 这个我们在前面的课程学过,我们选取宝宝首页的 第一层数据,也就是电脑软件、网络办公、数码相机、随身试听、珠宝首饰,我们先把它选出来,打上注视,选取淘宝首页第一层分类及第二层分类数据。 首先我们先选第一层,这里要把这个删掉,这里我们不带参数,现在还没有带参数,等接下来的课程,我们会带参数把参数删掉,形成这样一个样子,单击执行。 于是在你的左侧你会发现有这样一个存储过程, 这个是一个淘宝 home data, 我们直线一遍,你会发现 他选取出来了淘宝的第一层分类,这个分类数据和淘宝首页的这个是一一对应的,大家观察一下, 选取出来的数据和淘宝首页的第一层分类数据是一一对应的。 当我们执行了这一个存储过程的时候,他会选取所有的第一集积木, 但是在我们的程序当中,他不止选取了第一层十六个节点的分类,同时他还选取了第二个分类的所有的信息, 所以我们做的这一个存储过程还需要继续选取第二层分类的所有的目录信息。 但是第二层分类有这么多,我要选取所有的父亲 id 为十七的,选取所有父亲 id 为三十二的,选取所有父亲 id 为五十五的,选取父亲 id 为八十一的界点, 也就是我要选取电脑软件、网络办公。下面所有的孩子节点,还要选数码相机下面所有的孩子节点,还要选珠宝首饰下面的所有的孩子节点, 还要选随身试听下面的所有孩子节点。我不止选低层分类,还要选低层分类所对应的下面的所有的孩子分类。这个需求就复杂了, 按照通常的写法,难道我们要一个一个去选吗?难道我们要这样去选吗?不止一份,数个十七, 是不是啊?首先你选了第一层,也就是这边十七三二五五八幺九四幺七六这些选出来了,我又要选十七,下面的 还要去选五十五,下面的这个要改成五十五,还要去选八十一,下面的再复制一份, 再去选八十一,下面的再复制一份,再去选九十四。下面如此。要打这么多个 single 特曼,并且这样固定的数字,以后当我发生变化的时候,那不是要重新又来写这个存储过程? 所以这里有个知识点叫 select in, 也就是我们的这个标题。 select in 语句的用法。 首先我们加一个 begin n 的,不然他跑不了多条语句在 myc 口里面必须添加 begin 开始,然后输 c 口语句,然后输 n 表示结束。这里有一个叉叉,不要管他。我现在 有五条语句,当我一执行,下面应该是出现五个结果集,我执行, 这是第一个结果局,选取了所有的一级分类。这是第二个结果局,选取了父亲 id 为十七的所有分类。选取了五十五的所有分类,选取了八十一的所有分类,选取了九十四的所有分类。 但这种写法是不规范的,是不符合我们的要求的。我们来学习一个新的语法叫 see like the in 啊,在 mercy 口,注视是用的井号做注视,那 select in 是什么意思呢? select 心 from 目录表 where heron tidy 一这个标识 sixt, 意味在结果级里面源取结果级, 什么意思啊?既然你这一条语句已经能够选取出十七三二五五这一些数据了,那我就把它作为一个条件,放在 in 的小括号当中, 这里加个注,是选取所有的一级分类 select 英语句的用法, 记住从表里面再选。选什么呢?选父亲 id, 在这一个结果集里面的所有的 数据,从目录表选取。选什么?选复兴 id 在 in, in 是在在什么范围之类的? 在哪一个?在这一个结果级里面范围之内的这个结果级是什么?就是低级分类,所以这一条语句他会选取这一个结果级里面所有的孩子节点, 也就是这一条语句替换了我们刚才最开始演示的,如果你一条一条的写 click 的语句,你要写十六条,那我们现在一条语句就代替了这十六条语句。 所以今天我们讲 selection brought well 音。下面我们 来执行一下,这里有一点错误,这个要选 id, 为什么呢?因为是这里一列是这一列数据,所以这里是 select id brown, 它执行,它 单击这里直行,于是你就看到这是第一层分类,这后面就是所有的第二层分类,二百二十一条数据,那第二个结果器就出来了。 今天我们学习了一条语句,叫 select in, 这一条语句我以前也讲过,就是只学 选这一列出来,只选这一列出来。我们尝试一下,我再开一个窗口,给大家展示一下这一条鱼具它的作用是什么,它就只选十七三二五五八一这一些数据。 选出来过后,这一条渔具就在这个结果集里面,在这里面去选取所有的数据。 这就是我们今天介绍的 select 英语句的用法,谢谢大家的观看。

介绍完这份的基本语法的定义规则,接下来我们来聊一聊如何获取数据,那么我定义好了这一份呢,我可以通过一些方式把数据拿出来,拿出来的方式有三种,第一种,我们使用一个这一份对象,好,这份对象底儿 箭名, ok, 这样就可以拿到箭对音的值。那么还有一种方式就是这一身对象,中国号写个引号,里边写箭名,这种方式也可以,要 注意的是通过打点的方式建的名称不需要加引号,通过中括号的方式建的名称需要加引号引起来,单引双引都可以。第三种,如果他是一个数组呢,我们当然可以通过数组的,所以来获取数组的一个对象啊,数组对象, 然后呢中国号他的一个,所以就是角标来获取对应的一个对应角标的那个对象,那么接下来我们就来获取演示一下,在这呢,我们定义好了三个这一次,对吧?刚才定义的,我们把最后一个弹出呢,给他注释掉,现在呢,我想获取 获取,在这上写一下获取内幕的值, ok, 那么我们这样 parss 点内幕是不是可以获取到?没问题,返回一个内幕, 然后呢,返回了内幕之后呢,我们当然可以在这把内幕弹出一下,好哦了,那么来运行一下,看能不能弹出来。张三走,稍等 看张三弹出来了,没有任何问题,当然除了这样的写法呢,我们还可以这样来写托尔森中国号, 然后呢引号内,这样也没有任何的问题,比如说再来返回一个内, ok, 我们来看一下这样的效果。走,你看张三也弹出来了,那么除过内幕之外呢,我们还可以获取 a 制呀,获取真的都是没有任何问题的,两种方式 ok, 都可以, 那么这是第一种获取内幕,那么接下来我们再来演示,如果他是触组的格式,怎么来获取,比如说下边这样的,通过 pose, 我现在想获取里边的王五对应的值, 那么想获取完五对呢值,首先呢我们来考虑 pluss 是一个这层对象,那么这个这层对象里边有个箭叫 j plus, 那么普尔森斯对应的值呢?是一个数组数组里边的 d 角标为二的,这个元素的内母是王五, 那么我们就可以这样写,普尔森对象,普尔森斯底尔,普尔森斯是建的名称,拿到一个数组数组的角标,角标呢?第二个是一个真森对象,是这个对象,那么拿到对象之后呢,我们在底内 就可以来获取出对应的内幕值了,那么这个内幕呢?我们表示内幕一好,内幕一完事了之后,我们呃了一下内幕一,来看一下能不能弹出来。王五啊,走,你看第一个张三,好,我们确定。 哎,还怎么还是张三呢?我们来看一下,可能刚才页面呢没有刷新过来,没有关系,我们在这个地方保存了之后,我们在这重新部署一下,重新部署一下之后,稍等一下,我们再来看对应的这个值,俄罗斯,刚才我们已经注视掉了,对吧?好, 稍等,我们在这呢重新部署完成了,然后呢,我们在这刷新来看王五就拿到了,没有问题, ok, 那么这个写法要注意啊,这个玩意呢? pos, 第一个 pos 是对象的名称,第二个点 pose 是这个箭的名称,箭对应的值是个数组,我们取第二个角标为二的元素,就是第三个元素是这么一个对象,再点他的内幕,那么就拿到了王五, ok, 把 这个呢也注视掉,那么接下来我们在这加个注视吧,这是获取获取,嗯,获取王五,好,获取王五值, ok, 那么接下来我们在这个地方,如果他是数组的话,我们再来获取,将获取里四只,那么获取里四,我们来分析这个 ps, 他呢是个数组, 我们是不是可以拿到这个数字里边的第二个元素的内幕值呀?那么我们可以讹了他,直接讹了他了。 ps, 点,那么不能点了,这块应该中国号第一个角标为一的第二个元素的内幕, ok, 这样就拿到了李四, 好,刷新。完事了之后呢,我们谈一下, ok, 还是需要重新部署一下,重新部署一下,部署完了之后稍等,那么接下来我们来刷新来看,李四的值 也拿到了, ok, 对于值得获取三种方式,我们在这就讲解完毕了,那么接下来我们再来复制一个这个语法,那么在这呢,我们去聊一聊这一份的一个便利,好,这一份的语法这一块呢,我们聊一下他的一个便利, ok, 那么在这便利这块呢,我们把这些获取值的操作呢都给他删掉,删掉,删掉之后呢,我们这样我们保存一个第二个,第二个。 好,我们这样我们保存两个,第一个呢,它是一个基本格式的,那么我们再保存一个数组格式的吧,好,把这些呢该删的都删掉。删掉之后呢,接下来两个, 两个一个是 js 对象,一个是 ps 的数组对象,那么接下来我们想来去获取获取 parss 对下中所有的箭和直,那么我们来便利一下,那么在这块呢,我们提供一个封印循环来便利,这一次怎么办呢?封好 复循环,复循环这块呢我们在这里边写,首先呢第一个地方写一个 y, 一个 k, 就是箭的名称 e 呢 perse, ok, 这样就写完了,写完了之后,接下来我们来呃了一下,注意看,呃了一下这个 k, 好了这个 k 之后呢,我们来保存运行,运行一下,当然我们在这呢,这样吧,我们好运行一下,运行一下,这个还是需要重新部署一下,重新部署一下, 稍等,部署完了之后我们来看这个 k 呢是一个变量,其实呢就只带的是这里边拿到的每一个键的名称,来看一下是不是内幕 a 字,还有真的刷新来看内幕 a 和真的没问题吧,那么这个键拿到这个键呢,其实呢他是他是 是对音的一个字符串格式,那么我们现在还想拿到见对音的值,我们可以这样好加个冒号,再加上值,值呢,就是 percent, 那么这个地方怎么来写?那很多同学可以这样写, 是吗?这样写的话,他是获取不到对应的值的,因为这样写的话,这个值呢相当于是一个字不串,就相当于是这样写的字不串,用引号引起来的。好嘞,我们来演示一下这样的方式能 能不能获取到重新部署一下,部署完了之后呢,我们来看他,现在呢一个都弹不出来了,走 好,你看内蒙安德范对吧?没有获取到,呃, a 指安德范,真的安德范,原因呢,就是因为好,说一下,这样的方式获取不行, 因为因为相当于相当于我们写的是 pose。 第二,然后呢,写个字母串内, 因为这个 k 默认的获取出来就是字幕串格式的,那么我们怎么获取啊?我们 turs 或者说我们的这一份获取还有第二种方式, 第二种方式是不是一种中括号的方式来获取?为什么要提供第二种方式?其实呢就是在这个地方便利的时候使用的 poss, 然后呢中括号,我们把 k 放进去, 在这个地方千万注意, k 呢默认呢就是一个字母串,他本来就带有引号,你就不要在这再加引号了。好,这样的方式写完了之后就可以获取出来便利的 k 对应的值了。 ok, 我们来演示一下,刷新内幕,冒号张三, a 位置冒号二十三,然后呢,真的冒号是处好,这样就获取出来了,没有问题。那么接下来呢,还有一个便利,这个便利就是一个数组的形式便利, 那么这个数组便利呢,其实呢就需要使用双层货循环的一个嵌套,是这样的吧,那么首先呢,我们来接下来我们来这样写,我们想获取啊,获取这个 ps 中的所有值,那么 ps 他是一个数组,我们是不是先对数组进行一个便利, ok 吧, a 等于零, a 小于谁呢? ps 点 nice 可以, ok, 然后呢,接下来接下来我们拿到了 ps 每一个 ps 的,哎,这样呢,是不是就获取了这个地方的每一个 p 对象,或者说 pross 对象,然后呢,再通过这样的方式是不是来便利 一下就可以了? ok, 再通过复循环,这个复循环里边呢写一个 y, 一个 k, 然后呢应 p 这么一个便利方式就可以了,然后呢我们把这个呢复制一下,复制一下之后呢 k, 然后 呢 p 中国号 k, 这样就拿到了,通过这种双层复循环的方式就可以拿到这九个值吧。好嘞,那么写完的代码之后呢,重新部署一下,然后呢我们来刷新看一下能不能拿到这九个值, 刷新内幕张三 a 至二十三,然后呢真的是处,然后接下来他要进行第二圈的便利了,接下来内幕里四好 a 纸,真的内幕王五 a 纸,真的九个值是不是都拿到了,所以呢,对于这种这一次的便利,我们要知道是这样的方式。 好嘞,那么我们介绍完了数据的一个基本获取和一个便利获取的两种方式,在这这次的基本语法我们就讲解完毕了。

现在我们去看一下第五问,如何从响应结果当中提取数据呢?我们在之前的视频当中给大家讲过如何查找 url, 那这个问题我们就给大家讲解如何去提取数据。第一个是关于京东的,我们去打开一下, 在上节课我们找到了他的 uil, 现在我们把他的 uil 复制过来,开始去编写我们的代码。第一句话的话,他要是要导入爬虫,需要使用到蕊筷子这个库,我们在之前的视频当中给大家安装过。然后紧接着第二步的话,我们要去发送请求。 发送请求怎么发送呢?我们先把它的 u i l 存储到变量当中,然后紧接着我们去看一下它的请求方式是 get 请求,所以我们在这也应 该用 get 请求 request 表 get 把 u r l 放进来,然后他会得到一个响应结果,那么我们先去查看一下他响应结果当中的一个数据,然后再去查看一下他响应结果当中这个数据的数据类型。 我们发现它是个 s t r 类型,而这种结构我们看上去它应该是 python 当中的一个字典类型,所以 s t r 类型肯定不可以。那么字典类型我们如何去转换呢?在这的时候它有一个 方法叫 response 点 jason, 它自动就可以将我们的这个字符串类型 太累。 类型他去干什么?去转成我们的字典类型 啊?注册这 s 加类型,那现在呢?我们再去输出一下这个 dat, 再去输出一下这个 dat 的数据类型,通过内置函数 type 去查看它的数据类型, 然后我们发现他现在是字典类型了,字典类型你就可以去提取数据了,我们发现他的数据是在一个叫 comments 当中, commands 是一个列表,列表当中是字典, 所以你在这的时候首先做的第一件事情应该干什么?应该从字典当中去把这个康门特提取出来。 comments 怎么去提取呢? 字典的名字叫 data dat 表, get 方法就可以把它提取出来,它提取出来的结果是一个什么?结果是一个列表,所以你需要使用放循环圈便利列表 in 去便利列表,那你会得到什么?你会继续得到一个字典,然后在这个字典当中的 comment 再去提取它就可以了。所以你在这里得到的 item, 它也是一个字典类型, 那然后紧接着它是字典类型,我要去提取它的那个内容, c o n t e n t 那这样的话我们去把它打印输出, 每提取完一个,我们让他给咱们打印一个横线,这样的话比较好看一些。现在我们单击右键运行, 发现这个数据是不是就都提取出来了? 现在我们再去看一下第二个网页数据的提取,天气预报的这个,那么我们在上一个视频当中跟大家说过这个天气预报啊,它的数据是直接在我们的网页当中的, 也说在直接 h t m r 当中,那这种数据我们如何来编写代码呢?首先还是同样的,你要把它的这个请求复制过来,由于它的数据直接在 h t m r 当中,所以你直接复制它的地址栏当中的这个地址就可以了。那然后 继续我在这写上这个还是第五个问题,他是提取数据,这个叫天气预报。首先第一个还是导入, 导入你会写上什么? input request 的思,然后第二个请求,我们要准备去发送请求啦, 你准备要发送请求的话,那么我们用到的是这个 get 请求,把 u i l 放进来,然后呢,我们在这的时候去获取响音,输出一下它的响音结果,我们去看一下, 当我们在这输出他的响应结果的时候,我们发现他的这些都叫什么?这些都是一个 高乱码,那我们可以去设置一下它的编码格上按 coding, 然后我们在这写上 utf 杠八, 当设置完成之后,我们再去看一下,哎,这回就很好了,对吧?然后呢,我们要在这 ctrl 加 f, 我们去查找一下,那肯定有一个叫三亚的呀,看一下数据是不是都在这个地方,那我们怎么从这个当中去提取呢? 我们的数据是在我们的标签当中的,所以这个时候你可以采用的方式就是正则表达式,所以我们去需要使用正则 表达式去提取数据,你正则表达式去提取数据。在 python 当中支持正则的模块是 i, 你要提取一个,还 需要提取多个,咱们要提取的是多个,所以你用到的是啊,一点三的哦,我要提取什么?你要提取什么?你首先啊要把整个的这一个先复制过来,然后提取的是 spa 标签当中的内容。 spa 标签当中我们要提取到的是从哪个地方去提取?我们从的是 r e, s p 点 t, s t, 从它里面去提取。那你提取的内容是什么?是小,是整个监括好当中的东西, 所以你在这的时候开始写你的正则表达是几个小括号,我们要提取的是中文,那么你要知道中文的范围是杠优四亿零零啊,这是 这个中文的范围,到什么呢?到杠 u 九 f a 五,那么它是中文的范围,中文的范围呢?你要提取多少个呢?肯定是多个了,对吧?那然后提取完这个之后,我们把它定义,为什么定义为 city, 那到底有没有提取成功呢?我们在这的时候去输出一下 cici, 先把上面这些复制, 因为一会我们还得用它。那现在呢?我们去看一下城市就提取出来了。城市提取出来之后呢?那我们要提取的就是我们的一个 weather, 所以你把整个这个代码复制一下,把这个 ct 改成 y z, 然后呢把整个的这一个还是它的 class 改成它, 那这个就变成什么了?这个就是你提取出来的 weather, 我们去看看。 然后呢第三个就提取我们的温度了,提取我们的温度,他在这写的是 w d, 叫温度嘛?那我们也写 w d, 这回你提取的是中文吗?三十二斜线二十四,他不是,他不是中文,他是数字。那这个时候呢,我们让他提取任意字符就可以了,因为他还有一个温度的符号, 任意字服用点,然后我们在这的时候再复制一下,再去输出一个温度 wd, 那温度也提取出来了,然后紧接着还差一个什么?还差最后的一个是它的适宜情况叫 z s, 所以呢,那我们在这写上 z s, 把 整个代码继续去复制,复制你可以复制天气这个,但是你不要去复制这个温度,这个因为我们要提取的是中文,中文,然后把它这个改成 z s print z s, 看一下整个的这个景区的天气预报,我们就区区完了,这是如何在 h t m l 当中去提取数据? 那现在呢?我们再去看一下第三个他的请求,就说是一二三零六当中的这个是 g s 的,我们应该怎样提取数据呢? 我们去找到他的 url, 把这个 url 进行复制,然后呢我们在这再去新 建一个拍森文件,这个依然叫做五、提取数据,这个是一二三零六。第一步导入 import request, 然后第二步我们要干什么?发送请求, 发送请求,你去看一下它的请求方式,在这写着呢, get, 请求方式是 get, 你直接发送 get 请求就行了。 read, 快速撕掉 get, 把你的 u r l 去放到电量当中去存储, 然后把 u i 放进来,然后看一下它的这个响音,结果我们先去输出一下第二 t s t 当我们在这输出的时候,你发现它的数据都回来了,对吧?它肯定是个自付串类型,那然后紧接着你如何从这个自付串当中去提取数据呢?你发现它是自付串,但是它不是 h t m l, 那么我们可以使用正则表达式去提取,就是你还是需要去呃,使用一下这个阿意,但是你要提取的是内容是什么呢?所以呢,你要去看一下他的规则,然后紧接着使用,翻着奥, 使用这个规则,去到这个里面去提取他提取的内容,你把它放到电量当中去提取。关键的问题是这个规则你怎么样去定义啊?我们要的是什么?你要 要的是中文,然后呢中文他这块还有一个下有个竖线,然后包括中文后面的这个字母,这些我们是要要的,那你知道中文怎么去写了吗? 中文我们知道的,刚才在景区天气预报的时候,这块是中文,那你就把它复制过来,那么这个中文你要提取多个,同时你还要干什么?我还要 他后面的这一个竖线,所以呢,你要在这个后面再继续写上一个斜线, 一个竖线,然后咱们要提取的是这个 a 到 z 这个范围内的 a 到 z 这个范围内的话,咱们要他呃在这块的时候要写一个什么加,但这这个加是写在这儿的, a 到 z 是 把它放到方括号当中的。那然后我们现在呢再去看一下整个的这个正则表达式,我们写完了,然后现在呢我们去验证一下,看一下有没有问题,如果有问题的话,咱们再去调整我们的这一个正则。 然后现在我们发现他的数据是不都被提取出来了?提取出来之后是一个什么类型呢?你发现他放到了一个列表当中,然后北京北,北京东是不是这样就提取出来了? 所以在这里呢收到了一个正则表达式的问题。如果是正则表达是不熟悉的,想去了解正则的,你可以去加一下杨老师的这一个微信,然后呢我们去沟通一下关于正则的事情。

大家好,今天呢给大家讲一下如何通过我们这个接口呢获取到这个模块,提交 采集到的温湿度数据。首先我们这个模块呢接入了一个 dht 幺幺温湿度传感器,而且呢在控制端呢,已经可以正确的接收到当前的温度和湿度数据。 那好,现在来我们生成一个接口。首先呢我们要复制这个设备的设备编码 uid, 然后呢去到 api 测试这里, 在接口类型这里呢,默认 get 就可以了。然后下面的这两这两行 保持默认。在 d e v u i d 这里呢,把刚刚复制到的设备编码粘贴到这里。然后 ioti 这里呢,我们要采集我们要获取的就是这个 dht 幺幺温湿度传感器 的数据。那我们这里呢输入 dst 幺幺。如果大家不知道这个接口 呃是多少,可以点击这个问号获取到。因为我们这个是跨阵 m 四 s 啊。 我们要拖接入的是我们这个,现在这个模块接入的是 dhd 幺幺温湿度传感器,那我们就输入这个 hd 幺幺就可以了。 好。然后 ioy 六这里呢,默认留空这里不需要填写 执行请求。好,那现在他这里有两个代码,一个是 tcp 代码,然后一个是 js 立乘一,我们复制的是 js 立乘一的接口代码。 复制啊。复制好之后呢,我们来到 sps 的服务器跟目录这里,右键 新建一个文本文件。然后呢双击打开,我们将这个 复制到的接口呢粘贴到这里来,保存好关闭。接下来呢,我们要改一下这个名称, 我们把这个名称改成 get get, 点 htnl 好保存好了,这样就可以了。然后呢,我们打开浏览器,在浏览器这里呢,输入幺二七点零点零点一斜杠 get data。 好了。这样呢,我们就获取到我们当前这个 d h t 幺幺的一个温 湿度值,因为这个温湿度值呢,他是连在一起的,前面这两个是当前的湿度,然后后面的是当前的温度。那我们对照一下看看。 我们对照一下 刷新一次。好,现在是五十二百分,湿度是百分之五十二五十三, 然后温度是二十七度,那就是对的了。现在他获取到的呢,他是一个 json 的一个数据,那我们要把这个数据提取出来。 好,那我们回到这个跟目录右键,用文本方式呢,打开这个文件,我们在这里加入一行代码。 加入一行代码, 把返回的这 som 数据解析解析一下。然后呢,直接输出, 直接输出解析后的温湿度数据, 我们这个 dhdht 幺幺的值的名称 的数组名称就是 dhd 幺幺。那我们就把直接获取这个 dhd 幺幺就可以了。啊。文件保存啊。我们回到 浏览器这里再刷新一下。好,这样呢,我们就可以直接获取到当前的温湿度数据了。

我们今天通过拼多多小程序啊店铺搜索这样一个例子啊,来看一下如果功课解析的日志数据里面含有 jason 的字符串,这种情况我们应该要如何处理成为一个啊标准的二位数据。 然后我们先打开拼多多的啊小程序,然后可以看到只要打开功课这个接受请求的界面,就会有不断有请求进来, 然后我们随便搜一个商品,这是我之前已经搜过的,然后我们是要看嗯店铺,所以我们再把这里商品切换为店铺,然后这时候请求就都出来了, 然后我们用 ctrl 加 f 调出搜索框啊搜索一下店铺的名字,然后包含这个店铺名词的接口,然后就会出现橙色,然后 啊弹窗那个小弹提示也会提醒你有多少个接口有这个内容。然后根据前面这个 tap, 我们上右边来选择是 h t m r 还是 jason 格式,然后呢,我们看到这是 h t m l 的,我们就在这里搜索一下, 然后搜到之后寻找他的副节点,然后一直找到最上层的一个节点,我们来看一下数据,然后用是提前已经嗯 解析过这个网页,看过了,就是他的一页的接口和后面的接口是不在一个,呃,是不在同一个接口的。嗯,很多网网页网站可能存在这种情况,像是小红书 嗯的视频列表也是它的第一页和后面的页码是不在同一页的,所以就是有些人可能会说,我 的小红书的视频为什么啊少了,就是因为这个原因,他的第一页和后面的页码是不在一个接口的,所以我们嗯配置的时候,如果想要第一页的数据,那我们就要两个接口都配置, 然后我们可以看一下这个拼多多,他也是同样的情况,然后他的第一页是 h t m l 的,然后后面的页码是杰森的,然后因为他啊第一页可能要加载整个网页的一个框架,所以他就用的是 h t m l 的,后面呢只需要这个店铺的列表数据,所以他后面的页码就是杰森。 然后我们呃就可以往后看他呃后面的页码是在另外一个接口里面, 然后我们也可以打开小程序的后台,然后往后呃刷新滑动一下,看一下后面的页码 跟啊第一页的接口是不是在一个。然后我们可以啊看到他嗯出现的这个接口的话,已经是别人标注过的,说明这个啊有其他人也用了这个接口,然后这个就是第二页往后的一呃那个数据的一个接口, 可以找呃页面上的一个呃一关键字来 ctrl 加 f, 再来搜索一下啊,发现啊确实是在这个接口里面, 然后我们后面配置的话,就可以直接配置第二页往后面的呃那个接口,如果第一页也需要的话,可以单独再配置 啊。但是因为大量的数据都是在第二个接口,所以我们就先来配置第二个可以看到他的数据的话啊,都是很多很多列都是 是那个 jason 的字符串,所以我们后面就是主要来讲一下这种呃如果字段是由一个 jason 的字符串组成的话,我们要怎么把它转化成一个标准的二维表格数据, 然后把刚刚啊第一页的那个备注我们改一下,把它改成标注一下这是第一页的数据啊,下次就可以看到别人,其他人看到就可以直接的啊,一目了然,知道这是呃店铺列表的第一页的数据了, 然后我们也可以再打开小程序啊,来搜一下啊上面的内容,然后来确认一下我们这个接口找的对不对,然后 调出 ctrl 加 f, 然后搜索框里面搜索我们呃小程序上面的内容,然后我们先搜一个双喜,看一下啊,是不是在我们的第二个接口里面, 可以在旁边右侧这个 jason 字那个 jason 里面看一下我们的关键字有没有在里面,然后 ctrl 加 iphone 搜索之后,呃关键字所在的地方会变成橙色,然后我们在右键寻找它的附接点, 然后一直找到最大的一个层级这个 items, 然后我们会发现这个 items 下面啊有很多的 jason 列表,然后里面有隐藏的我们需要的一些店铺啊,然后一拼多少件,然后是否包邮,然后满减这些优惠活动的一些信息, 然后接下来我们就开始来配置这个接口,然后首先是找再回到原来这个 jason 的地方,然后点了这个 items 我们要的数据层级,然后右键表格显示, 然后这是其实是我们的一个步骤,我们刚刚其实已经进行过表格显示,然后第二步,然后是找到 items, 然后右键配置为默认,这就相当于告诉我们的程序我们需要这个层级下的数据啊,把它设置为一个默认的路径,然后然后点击确定 之后,我们再进行下一步,再回到表格这里进行数据自断简化, 然后这里总共是有两个内容,一个是别名,一个是显示别名的话,是对应我们后面创建的视图啊,就是给我们的 字段起个别名,然后因为表的名字和字段名我们是没有办法改变的,他就是网页日志是返回什么字段,我们 就是什么字段,但是我们可以啊决定试图的字段,所以我们就可以给试图命名,然后命名命名一个我们能看得懂的一个别名,然后这个后面这个显示啊,是对应这个我们这个数据标的 啊,因为表表格的字段名我们没有办法改变,但是我们可以选择要不要这个字段,那如果是处,我们就是需要这个字段,如果是 force 就是不需要这个字段啊,但是数据字段简化这个步骤我们就是, 呃,可以做,也可以不做,呃,如果不做的话,我们就是默认保存所有的字段,或者是别人配置过的一个词段。 嗯,我们可以在后面后面的一个配置流程里再来啊,去掉我们不需要的字段啊,但是后面是不能取别名的,但是我们可以后面在自己的视图里面修改,所以这一步是可要可不要 根据自己的实际呃呃场景来确定要不要这一步,然后我们取完别名,然后设置完出和 force 之后,我们再保存设置就可以了。嗯,之后我们再进行后面的一步配置。 后面的一部配置呢,主要是为了啊,我们要把数据存在哪里,相当于我们前面是要呃告诉程序我们是要网页上哪一部分数据,然后后面一步就是我们要把啊网页上的数据啊 存到我们数据库的什么位置,就是这样分两步的一个步骤,让我们回到这个接口位置,然后右键点击监听高级监听这个呃这个选项, 嗯,然后他就会直接啊跳转到配置的页面,但是因为我之前已经配置过了,然后把配置删除了,所以他没有呃 直接跳转到配置的页面,然后所以我需要右键复制这个盖的,然后到盖的 to d b 里面去呃粘贴这个盖的,之后查询就可以了。 所以后面如果我们啊配置完了之后,如果想要更改配置,也可以用同样的方式,就是右键复制盖的,然后点击盖的 todb, 然后去重新 啊查询这个数据,然后加载配置,然后再修改配置就可以了。 查询之后我们的数据就出来了,我们然后进行配置,然后首先我们勾选呃创建视图,然后就可以看到上面的英文字段就变成了我们命名后的一个中文字段了,这就是我们前面取别名的一个作用,我们来创建视图了, 然后再来啊,我们可以对这个表明进行修改,然后也可以前面如果有些字段没有去掉的话,我们可以在这里啊把不需要的字段右键排除掉, 然后呢然后再设置我们的一个驱虫子段,等到都设置完了之后,我们再点击这个啊刷新,刷 新完之后就是只呈现我们设置为处的一个字段,然后这一步完成了之后呢,我们再进行一个数据库选择,因为哦我们今天是要处理杰森的呃支付创的一个字段,所以我们选择买 circle 的库,因为买 circle 库 八点零以上他是有专门处理啊字段是杰森字符创的一个函数,所以我们今天就要把数据存在一个买 coco 的一个数据库里,然后我们再根据啊这个页面上的第二个步骤,然后连接啊,连接成功之后他会有提示, 提示完之后我们再点击这个生成配置,就可以看到他提示我们生成啊配置成功了,然后就可以看到我们后面这个黑框框里面 经有那个脚本生成,然后创建表的一个啊脚本和创建视图的脚本,然后并且已经写入了啊当前页的数据,写进去的十条数据, 然后我们可以再来数据库里看一下我们刚刚写进去的数据,啊已经有十条数据了啊,然后为了有更多的数据的话,我们可以再来刷新一下网页,然后再来啊写我们的一个脚本如何处理节省支付串, 然后我们就呃刷新这个网页,然后这个步骤的话,我们也可以用呃引到 rpa 来代替我们手动来刷新这个网页, 可以给大家展示一下 rpa 呃介入之后的一个数据存储的一个整体的一个效果, 我们可以再到数据库里来看一下,然后数据已经啊进来了五十多条数据,我们就对这五十多条数据来进行一个呃处理, 可以看到它的字段,呃跟呃我们在功课呃右下角看到的 jason 的日志是一样的,它的很多字段都是一个 jason 的字符串,那我们呃就是要来处理这些字符串的数据, 然后这是我之前已经写好的一个脚本,嗯,可以看到它,嗯用的是 my circle 的一个 jason table 的这个函数,然后我们可以来看一下我们呃这个 jason table 的函数的一个构成参数是怎样的。首先前面是 我们这个字段,我们需要呃处理哪一个字段,然后这个呃在后面逗号,这个是从呃相当于这个心代表就是我要重连里面的所有数据,然后后面呃 这个中文的这个搜索到的店铺,这个就是我们要给呃 我们提取的这个字段另一个别名,然后给他呃设置一个数据类型,然后再 后面在呃表明他要解析这个字符串里面的哪一个字段,然后呢他相当于 jason table, 他把这个 jason 字符串当成了一个表,所以我们给这个表密一个别名,然后这就处理完了一个字段,然后面 我们可以叠加 jason table, 然后处理这个 display items。 二,这个,然后也是所有的字段都进行解析,嗯,然后这个是一拼多少件,然后我们也是给它密一个数据类型,然后也是是这里面的一个 text 的字段, 然后呢我们也要给它灭一个别名,嗯,然后前面我们在嗯 把自己需要的字段提取出来,然后我们搜索的内容,然后这个的话可以是搜索的商品或者是店铺都可以,然后冒 id, 呃就是这个店铺的 它的一个唯一标识 id, 然后再就是搜索到了哪些店铺,然后一篇多少件,这是我们想要的 一个字段,然后呢啊,因为啊后面给大家演示就是我们如果不经过后面这两个条件, view 啊这个关键字是含疑拼的,然后还有就是嗯他的 店铺名字不能为空这种条件的话它会返回很多数据,因为它的 jason 支付串里面就本身包含了网页的很多呃数据,但是我们只想要呃这几个字段,所以我们就会用呃就是这些内容,所以我们就会限制一下 这个不限制条件的话,他就会返回他有一拼多少件,满减多少,然后他还有什么其他的啊优惠政策,就是只要他嗯有什么内容,他都会返回来,然后 生成一条新的数据,然后他还有这种可能,店铺名字是空的这种或者一片多少件为空的,所以我们就要稍微处理一下啊,然后处理完了之后就是可以得到我们的一个标准数据, 然后可以看一下呃配合引导 rpa 刷新网页的一个效果,然后这个呃这个程序的话就是一个通用的一个呃滑动滚动条的一个程序, 然后他只要滑动就可以了,然后功课再把啊页面上的数据解析到数据库里, 根据我们刚刚的两个配置的步骤,然后入库到我们呃设定的数据表里面,然后我们来看一下我们入库的数据是怎么样的,然后看一下查询一下我们的一个结果。

这里我再讲一下第三种解析方式啊。第三种解析方式呢,我们这里先来讲一下如何从这个网页当中来爬取这个阶层数据,那么阶层数据的话,一样的啊,就是我们在 我想要爬出来这个网页当中,如果啊可以的话,我尽量还是推荐大家使用这种第三种节省节气的这个方式啊,按一下 f 十二, 比如说当前这个网页,按一下 f 上,然后在这个网络这一栏啊,网络这一栏,然后这个地方可能是一下面没有搜索这个窗口,那么在这个地方有一个小的方向进啊,这个地方就是搜索啊, 点一下他之后,我们就可以搜索里面的网页里面的内容,比如说这个地方有一个金盒,或者这一个乌鲁木齐盒,然后我们在这个里面去搜一个乌鲁木齐,然后在这个地方 点一下刷新啊,此时可能是一上来就找不到匹配,像我们把这个网页再重新刷新一下,然后这里再来一次啊,这样就拿到这个气球内容,我们点一下,点一下在右边这个地方,这里有一个响应啊,响应处这个地方就会有一串数据,这一串数据呢就是我们的这个阶层数据啊,阶层数据呢,其实就是一个 啊 gs 的一个对象数据,那所有的这一个网页中的数据呢?其实都在这里,在这里获取的数据呢,就有一个好处啊,我们可以啊,一次性啊,一次性拿到里面的所有内容啊,就不需要一个一个的去解析了, 所以这个就是拿这个阶层数据的好处啊,同样的其他的这个网站啊,比如说我们换一个,换一个 op 点击器, 就是有的同学想要去啊,爬去这个英雄联盟的所有数据啊,那么这里面就有一个英雄数据,对,可以点开, 这里是个国外的网站,有点慢 啊,进来了啊,进来之后呢,我们同样是按一下 f 上 这里,我们要搜索我们这个想要拿的这个数据,这里可能不能搜这个木木木木木器盒了,比如说我们搜一个熔岩巨兽啊,熔岩 其实搜荣源两个字就可以了,我们刷新一下,这次是可能还是找不到,我们再再把这个网页再刷新一下。 好,刷新完之后我们这里再找,刷一下啊,这里就出来了啊,出来了,然后我们点,点到这个里面去 啊,这个是说我们把它这个拉过来,然后在这个右侧啊,他也是同样也会有个响应啊,这里面我们随便点一个就过来了。好,然后点进来之后呢,这个往上翻啊,其实这个这里就这个这一串 测试一下。 嗯,看这个下面的这个啊,在这个 jason 数据里面啊,我们可以在这个地方可以看到所有的这个英雄的这个数据啊,就是这个 data 啊,比如说我们火里啊,第一个啊,就是我们英雄里面第一个英 id, 唯一的啊就是火力啊,然后它里面有一些啊,他的图片啊,他还有他的这个信息啊,他的这个血量啊,难量,他攻击力是多少啊?等等等等啊,这个是应该是他的攻击范围啊,然后它里面呢有一些 这个是他的提示吧啊,然后他皮肤什么什么东西的啊?啊,那么这个就是通过 jason 的这个方式啊,怎么去查这个网页当中的这个数据的这个 jason 格式的这个内容啊?这个 g s 对象的这个内容,那么所有的这个英雄数据啊,全都在这里 啊,那什么这个新的英雄,什么 umi 啊,什么什么威古斯啊,这个是后最后面的,因为我是纳德最后面 就越越新出的就越晚出的英雄,他的这个 id 就会越靠后啊,他就垂直了。这个英格斯的 这个是应该是一些皮肤啊,新出的一些皮肤啊, i 镜啊,这个我就不带大家去看了,那么这里面我们就是先来了解一下,我们怎么在这个网页当中去啊?查这个当前这个网页的这个数据是否在一个解锁文件里面啊? 那么我们一定要看到这个右边这个响里面是一个这样的格式,然后我们再来看一下当前的这一个数据我们应该怎么去获取。那么在这个标头里面,我们点到这个右边,右边这个标签里面,这里左左边有一个标头,这个标头呢?这里有一个请求的 uil, 那么这个请求的 u l l 里面这个 u l l 就是我们去获取数据的这个网络地址,我们把这个网络地址呢复制一下,然后只要看一下当前的这个请求方式,这个请求方式是 get 请求的话,我们可以直接在这个网页网页当中去请求就可以了,我们把这个网页地址复制过来,再直接回撤 啊,直接把它粘贴过来啊,粘贴过来之后我们按一下回车,那么在当前这个网页当中,我们直接可以把 f 上把这个关了,那么在这个网页当中就会直接显示我们当前这个所有的这个英雄数据啊,所有英雄数据, 所有的这个数据都在这一个文件里面了,那我们只要去请求这个网页地址,把这个解锁文件的这个数据给它扒取下来就可以了啊, 好,那么这个就是啊,我们的这个 jason 这个解析方式的第一个啊,我们怎么去拿这个 jason 数据?那么同样的 我们想要拿这个里面的河流的所有数据啊,同样讲到他里面的标头,然后这里有一个请求的 uol, 找一下他的这个请求方法啊,他也是 get 请求,那么是 get 请求的话,就可以直接在网页上我们展开一个新的网页,然后再粘接过来回侧,那么所有的这个当天的十一月六号的 这个时间段啊。啊,这个是今天的日期啊,就是十十一月五号的啊,因为他的更新他不是时时更新的,他是在某一个区间段才会更新啊,也就是说今天晚上拿的是昨天的啊,昨天下午两点钟的这个最后一次更新的这个数据 啊,那么这里面应该有几百条数据,所有数据都在这里啊,那我们就不不需要去啊,一个一个的去解析这个网页的这个什么路径里面的内容了啊,这样是最为快捷的一种方式。

好啊,这一期呢,我们继续啊,继续来讲,我们怎么样把获取到的数据啊,直接输出出来,因为我们不能把它获取到的一个节省值,然后就直接去这个网站上面啊,把它解析出来,那这样一步一步操作太麻烦了啊,我们用脚本里面的命令给他解析一下, 首先我们要把这个给他添加一个返回值,他返回的是一个 jsan 值, jasan 值呢?他是刚才那一串啊,那一串太麻烦了,我们要把它换成列表型,间表型的一个数据, 就是重新定义一个,用这个命令啊, incorde incode jasontable, jason twotable。 好,这个命令呢,他是要把我们的 jason 支付串 放进去啊,也就是这一串数据放进去,好,返回给他的一个数字,就是一个间表型的数据,我们直接输出间表型的数据行不行呢?啊?我们可以试一下, 很显然直接输出他是不行的啊,他是一个啊 no 的值间表情的数据,他不能这么输出,那需要怎么输出呢?需要他一级一级一级的对应,对应到我们需要输出的值,而且这个 k well 型的啊,我们把 k 输进去, 首先我们还是回到我们的这个解析这里啊,先把这个往下翻啊,翻到我们需要的纸,我们需要的 是这一块的数据,这个是我们的评论数,这个是我们的点赞数,这个是我们的分享数啊,就是这个视频的,他在哪一集目录下呢?在这一集目录下,好,我们就把这一集目录给他复制进去,他是一个自负串型的,所以我们也要写成自负串 啊,他后面有个一啊,中国号一,我们要把一写进去,就是把我们需要输出的数据转到这个里面来。啊,这个里面他也包含了很多东西啊,对吧?包含了很多东西,那我们需要的是哪一个呢?需要的是这一级部落好,还是复制过去 坐步穿行啊?这一季目录里面有几个参数呢?一个、两个、三个、四个、五个,我们把 把我们需要的再给他写进去。啊,这就是一个 k 啊,这后面就是对应的 vivo, 我们需要的什么啊?需要这个吧。啊?这个是我们的一个评论数。好,继续往后写。 好,看他输出的是不是我们需要的值啊?四百三,很好啊。啊,四百二十九啊,说明刚才还有人点赞了。好,这期视频到这里。

哈喽,今天给大家分享如何优雅的解析多层嵌套的复杂阶层数据。那比如我这边有一个阶层数据,那如果我想要拿到里面第一的值以及第二的值,那我该怎么做呢? 那我们需要用到 ogml 这样的一个技术,叫对象图导航语言,那我们可以使用它提供的一个表达序语言获取加法对象书中任意的属性,然后还能实现自动的一个类型转换。那我这边有一个工具类啊,里面有两个方法,然后这个方法呢就是把 jason 转换成对象, 那这样的一个方法呢,就是通过 o g m l 来获得我们 map 中对应的某个路径的值。那我们来看一下这个 demo, 然后我们就是把阶层数据让它转换成一个 map, 然后再通过这样的一个方法获得漫步中对应的这个路径的值。那这个呢也是同理获得到这个路径对应的一个值,而且呢它自动转换成了一个类似的,我们可以 直接执行一下。好,那这边呢就显示了对应的一个值,一个是第一,一个是一个 list。 如果说大家想要这样的一个 demo 以及之前的 demo 的话呢,可以到这来这,然后给他去发一个消息,像这样就可以拿到我们的 demo。 好,今天的一个分享呢,就到这。

怎样将页面里面这段固定的基层数据替换为从服务器动态获取的数据呢?我们现在呢,有一个页面,它是可以动态的生成基层数据的, 我们看这个页面呢是这个样子的,这期视频呢,陶老师就分享,哎,怎么来实现这样一个动态获取展示的效果,那么如果对动态生成精神数据 和固定调用还不太了解的,可以呢到陶老师主页上去看前两期的视频。接下来呢,我们就将这段固定的精神数据代名 来将它先删除掉,然后呢,我们来添加一行代码,我们使用即愧有的 get 精神。然后呢,我们写上获取动态精神数据的 页面地址啊,我们这里呢是 jason date 点 p h p, 然后获取完成之后呢,哎,我们让它执行一个函数, 这个函数叫什么名字呢?我们也跟它取名为 jason date。 接下来呢,我们将这一个反括号把它删除掉,哎,输入一个大括号,然后呢反括号我们已经把它删除, 我们到下边二十六行这个地方来回车,然后呢,我们输入反大括号, 反货号,然后分号。好,现在我们来预览进行测试。那么现在呢,我们的数据呢,就已经调用出来显示了。 好,那么下边呢,是因为这个图片呢,他有点宽啊,所以就超过了这个地方,因为呢是调用的内容的这样一个字段,我们将内容这个字段也换成拍头,好,那么这样看起来呢,他就很美观了。 那么通过 get gson 这样一种方式呢,就实现了网页呢前后端分离开放 的这样一种是,呃,前端啊,做前端的设计,后端做后端的设计,那么前后端之间呢?只需要提供一个接口的程序就可以了。