粉丝785获赞2427

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

这节课来看一下 js 使用阿加斯与后台交互以及 js 数据格式 啊。加卡的是几个单词的缩写,意思是用 jse 不请求网络,请求网络就可以看到是与后台交互。 我举个例子来说一下阿加斯的使用场景。我们上网时提交信息,点击提交按钮的时候会碰到这两种情况,一种是当我们点击完提交按钮,会跳转页面,跳转到另外一个页面。另一种情况是当我们点击完提交按钮之后,弹出一个框,提示我们操作成功, 页面还是在当前页面没有调转,这种没有调转不刷新页面的情况就是使用了阿加斯是如何请求网络的。来看代码实现,这是一个按钮,点击按钮就要用这个函数获取数据, 写下 x, 只要依靠这个对象先溜出一个对象,因为是一步操作,所以有毁掉函数,当出发这个事件的时候就掉下边的函数, 这个对象通过 open 方法来设置连接服务器。第一个参数是请求方法的类型,这里用的 get 方法。第二个参数是请求的 uil 地址,他是后台提供的接口地址,这个是我本地启动的一个家务项目, 在你那里是访问不到的,你没法测试。第三个参数表示是同步还是一步,默认就是一步的数,表示一步, 然后是发送请求,获得数据以后是在回调函数里边处理的。在这个对象事件的回调函数里边,意思表示的是这个对象,这个对象有几个状态,当这个状态改变的时候就会触发这一 事件,他的状态等于四的时候,表示相应一定完全接收,这个属性是服务器范围的 http 状态码等于两百的时候表示成功,这时候就可以拿到相应的文本了,也就是后台范围的数据, 我们把它打印出来看是什么数据来看效果, 获取数据,打印出来是这一个字幅串,这就是 jsen 格式的数据。 看过前面视频的可能会说,这不是一个对象吗?他跟对象的格式是一样的,不同的是杰森他的剑必须是双引号引住, 并且他整体是一个自负串,是无法用对象名点内幕获取到这个值的,但是我们可以把这段自负串 转成对象。在 js 中内置了 j 三解析,可以这样把支付串转为对象 来看答案,结果 这就成了一个对象,看到他们两个区别了没, 他是有属性的,来把这些数据显示在页面上, 加几个标题标签,操作盗墓。把数据展示在网页上,他已经是一个兑现了,所以通过点可以获取到他的属性值,分别把这些值付给这些元素来看效果, 获取数据就这样展示出来了,这就是阿加克斯,因为他涉及到了与后台交互, 所以有一些概念需要等到我们讲完加了后台的时候才能更好的理解。好了,这节课就到这里。

大家好,今天我们来讲一下 jason 文件的操作。先来看一下什么是 jason 文件, 我们可以看到它的外层相当于我们 python 里面的列表,内层的话每个元素是一个字典,字典,它是以兼职队的方式来储存数据, 值得注意的是它里面字典的引号只能是双引号。我们关掉这层文件的作用是我们在开发中有时候不仅仅是用 python 来做开发,有可能是不同语言之间 相互协作,而 jason 就充当一个容器,进行我们不同语言之间的数据交互。要想操作 jason 文件也很简单,我们可以 port jason。 我们先来讲一下读 with open data, 点加声读的话是 r 模式编码 u t f 杠八, 我们可以直接调用 jason 点 load, 用一个 data 来接受吧,把 f 传进去,这样的话我们就把 jason 文件直接读出来了,我们 print 一下 data, 注意读出来的话他是直接以列表的形式来呈现,不信的话我们可以打印一下他的数据 类型 at least, 我们注视一下。 再来讲一下写的操作位置, open 第一个还是对踏点, jason 写的话是 w encoding utf。 杠八, 我们还是用 jason 点 dump, 让我们要写的数据传进去。我们来准备一组数据 data, 一个列表,我们来模仿一下这个数据,它是一个列表,里面是字典,有 name 照顾 s s n 我们调用一下 faker, fake 等于 faker 减 faker, 中文 z h 杠 c n 这里可以用一个列表表达式字典键 name, name 的话就等于 fake, 点 name 都好。第二个是 job, fake 点 job, 第三个键是 s s n thick 点 s s n for 按命 任指,我们就来生成一百个数据吧,填个一百,这样的话我们数据就生成好了。我们把 data 填进去,然后把 f 给它传进去,运行一下程序, 这样的话 data jason 我们就生成了,但是我们发现它中文的部分是乱吧, 这时候我们可以在函数的中间加一个 enter, asker 等于一个 force, 我们运行一下,再看一下这种数据,格式化一下, 我们就成功的将列表数据直接变成了 jason 文件, 我们在 注视一下,当然我们刚才发现 jason 它下面还有两个方法,一个是漏子,和刚才很像,加了个 s, 一个是 dumps, 这两个函数是用来干嘛的?我们来试验一下。 同样的我们来一个字符串 s, 我们将这里面的数据挑一部分输入进去,就两条吧。引号,我们用单引号 把它调整一下格式, 注意,最后我们把列表打上,那么这个数据就是一个字符串,但它长得像列表。我们如果实战中想按列表的方式来操作它,比如说取第零个锁印,它是没有办法操作的。这程程序没有报错,是因为我们打印一下吧, 不然他是自负串来取,所以就只取了这个。 这个时候我们可以用 jazz 点 lose 把 s 传进去, 最后我们就会返回一个列表 l, 等于打印一下列表,它其实是一个列表的类型,不信的话我们可以 type 一下 list, 这个时候我们就可以用列表去缩影,就拿到了第一条数据, 相反我们再来试验一下,假设我们有一组数据 get 数据的话,我们也复制一下吧, 它是一个列表,里面有字典,但这时候我们 python 是以列表字典的这种形式 来储存数据,但是如果我们到扎瓦语言,嗯,扎瓦语言是没有列表这个数据类型的,那么我们需要将这个数据先转化成 jason 格式的字符串,然后发给扎瓦扎 话语言,用它相应的方式才能去读取数据,进行相应的操作。这个过程中我们是使用 jason 点 dumps 把 data 传进去,这样的话我们就得到一个字符串 s, 我们来打印一下, 当然这里我们也可以加上一个 answer ask, 等于 boss 这个的类型,它就是字符串,不信的话我们来 type 一下。 本期的案例就到这里,谢谢大家。

我们来聊一个高端一点的话题,咱们项目当中啊,经常会遇到这两种配置文件,一个是点 jason, 一个是点 g s。 点 jason 呢,本身它里边放置的就是一个 jason 格式的支付串,然后这个点 g s 呢,它里面放置的是一段代码,然后通过导出。 好些年在做项目的时候,其实我是特别讨厌点 jason 这种配置文件,因为它这个点 jason 啊,你什么错误的信息都放不了,比如说你想放一些重视信息, 可以稍微有一些格式错误,比如说这边加个逗号啊,这个也是不可以的,包括你在这里面要设置一个变量,或者设置一个函数,都是不可以的, 就是在操作上相当不便利的。但是自从参与了架构的这个开发之后,我就感觉同样是给项目指定扩展文件,这个点 js 呢,扩展能力比点 js 要好特别多, 因为从工程的角度,点 jason 是比较好做侵入的,因为你对这个文件可以直接读取修改,然后再复写。但是点 g s 这种脚本就非常的困难,比如说如果工程手段想改某一个属性的值,其实你是特别难改的, 因为这个点 gs 啊,你需要执行你才能拿到这个东西,但是你执行的时候,这个文件的写法就有无数种可能,你也并不知道你最终的这个位置是放在哪一个地方。这里我们会遇到另外一个问题,那比如说我这个配置里边需要执行一段函数,怎么办呢?其实这里我们可以通过 呃指定这个文件或者是包名的形式。举个例子啊,比如说我这里边需要加一个护理脚本,大概就这意思吧,或者说呢?比如说你本地有一个,那我们也可以就是你本地的,那我们就通过这种方式来配置一些需要执行 的一些逻辑。现在我们在设计架构的时候啊,在对于配置这块的设计都会一般都会采用点 jason 的形式,除非是有些绕不开的逻辑,那只能做点 gs, 做脚本的侵入,比如说做脚本的站位区域,或者是直接是解析代码去修改。

好,来我们看一下啊,如何解析数组啊?如何解析?接上我们介绍对象啊。接审对象怎么算?来,我们再来看一眼,解析接审数组怎么算 啊?解析借证数组算不算?好,让我们来看一下啊,那么解析这个借证数组算不算?怎么解析呢?也很简单啊,也很简单,首先我们确定他到底是对下来是数组 数组对下来数组数数吗?我都告诉你了吗?接生数组中算对不对?那么肯定是数数,数组的话我们用哪一个类呢?接生而为用法呢?和上面这个一模一样,就是把接生 obj 换成接生而为就好了。接生而为点什么呢?点 flow from object, 把接生 re 丢过来把接生 re 丢过来,把接生丢过来,然后它有一个什么呢? from object, 它这个 from object 返回的就是一个接生 re 啊, 这里换一下。把它换个名字啊,叫做水果怎么写怎么写? f 什么 ruit 是吧? s 啊?嗯,有点像啊,有点像,你们说出来我就我就是啊, 好,让我们来看一下啊,这里有个呃,接生啊,那么是这里是接上瑞好,那么怎怎么解析呢?其实很简单,他的也有点 guitar 是菌,但他这个 git 是菌,我们会发现他有一个什么东西,是有一个下标,你要第几个?是不是直接拿下标就好了?领导的意思吗?他返回的是不是就是就这个东西?我们来看一下 右键一只星,第一个拿出来的是不是应该是苹果,是不是要拿出来是第一个,看到了吗?啊,好,在这里呢,我们通常是干嘛呢?一般来说便利或循环便利,当然你这里不要指望着那个佛意词啊他这里不只是佛意词的啊我们只能用普通的这种方式便利懂吗切身 ori 点什么呢这里要获得它的长度吧。长度你觉得应该是哪个方法。 gator 等一下 gator 哎等一下长度是哪个方法来着 size size size 总之现在这个方法试试一下就可以了对吧啊试一下就行了啊好爱佳佳 size 吧不是 size 吗这个应该是爱的音对吧啊啊这应该是爱的音对好 好然后这种便利对吧然后便利出来的结果接身 ori 点 gators ging 然后拍是不是拿过来就好了对吧这种便利右肩一直行 你看啊这里面都有全部全部全部解析出来很简单解析对象解析束缚是不是搞定其实只要会只要会这两个其实其他的阶层的解析应该都没什么问题啊都特别简单啊然后呃阶层呢他其实复杂是复杂什么东西呢他是可以进行一个什么呢也就是说阶层我们来看一个 复杂的阶层格式 jason 格式就是你 jason 格式再怎么复 无外乎也是对象和宿主懂得什么你再复杂也就是说还是对象和宿主但是他指的什么呢他只说对象和宿主啊他是可以互相践套的。什么意思呢比如说这个样子啊我们来看一下啊比如说还是一个 plus 啊啊还是一个 plus 人啊还是一个人 好然后这个人呢我们来看一眼啊首先有名字那样他的名字叫什么呢叫小明是吧啊一听就是一个好学生啊小明啊好然后这里啊还有什么呢 h 啊年龄啊年龄年龄是那个十十八对吧?十八好。然后他有一些什么呢?他有一些书 box 啊他有一些书 books 好,然后我们来看一下啊理论上讲这个 books 是不是 key 啊后面这个是个 value 对不对?但是后面这个 value 呢你又不能是这么串,为什么呢?因为它这个 books 是它有很多本书,那么它有很多本书用什么表示呢?再放一个数数能听懂这个意思吗?对可以理解吗对象里面 没错就说这个对象里面啊他其中的一个 man 是不是数组好然后这个数组里面呢是不是又是一本一本的书因为数组里面书他有个书名和价格两个属性,所以说因此呢牛不能是直接是一个字母串来表示这个数组,而又是什么呢又是接商。我们接下来来表示这个数组 能想明白这个可以想的通吗?啊可以理解吧啊也就说你看啊其实这个的话其实也没有很复杂也说白了也没有很复杂真正复杂的他就是欠来欠去欠来欠去欠来欠去欠你个十多次对吧啊欠了你就蒙了啊欠了你就蒙了啊好啊 啊这个音色我们稍微看一下啊那么这里的话比如说我接下来再啊把啊把这个写完,这里这里需要注意一下啊如果我的 vio 是一个数组的话你就不要加双引号了啊你就你就不要在这里加双引号了懂这什么数组的话就跟硬特类型一样就是前后什么都不要加 能听懂这意思吗?嗯可以理解吧然后你看我宿主里面的对象是不是前后也不要加上银行就直接用一个大红号括起来就行了。懂的意思啊都是男的可以理解哈。好然后这个里面呢 别说又有什么呢又有扑克 m 书名。书名是什么呢对吧啊啊啊交往对吧啊从入门到放弃是吧啊好价格 double 啊啊不不不价格怎么是 double 我的天价格是 plus 是吧 plus 啊好也也是也是这个啊也是用这个啊 啊是不是看起来现在有点有点庞大了是吧啊然后这个价格价格应该是搭货类型的所以说你可以不用用双引号扣起来啊搭扣类型你可以不用用双引号扣起来啊。好然后再来看第二本书。 好第二本书是什么呢。第二本书比如说是那个同样的啊这个我粘贴复制过来吧啊这个粘贴复制过来啊这样子啊好第二本书是什么呢。是买烧烤数据库啊大家后面要学的啊。买烧烤数据库啊 啊买十二个数据库啊从什么呢。从三库到跑路啊。好 ok 好然后这个呢是二十五块钱啊好啊然后就相当于这两本书你看啊然后其实呢 如果你的阶层足够复杂你会发现他的其实可读性就降低了。发现了吗比如说现在这个阶层其实有点看不懂了懂了意思吗啊有点看不懂了啊我们打一下这个阶层啊可能看起来会舒服一点啊打一下这个阶层 p 啊打一下这个阶层 p 右键一直行 对吧啊就说他打印出来以后是没有那个斜杠会稍微舒服一点那么如果你真的想看一个很复杂的阶层怎么办呢?推给大家推荐一个网站啊。啊,其实其实这种网站很简单,三 w 点并阶层点 cum 这个网站,这个网站还可以干嘛呢?还可以帮你格式化这个阶层,当然其实这种工具有很多,你们自己去找一个就可以了啊。工具有很多,看一眼啊,比如说把你需要教练的阶层速算放在这里, 这个是我刚刚的那个阶层,看到了吗?现在是不是有点看不懂,对不对?点一下,这里有个叫燕点一下他,你看他就他就会帮你格式化,这么看是不是看起来舒服一点啊,理解吧。啊,这么看会看起来舒服一点啊?最外最外面哪个双引号?最外面没有双引号,你从哪看到最外面的双引号? 你说这个吗?支付串里面双引号不是大括号,外面的双引号是这个支付串的,就这个支付串是不是要用双引号扣起来这个啊,这里啊,这里一定要跟你们说一下这个双引号,算算精神里面的双引号吧。不是的啊,这个双引号是不是支付串他需要双引号扣起来的, 懂的,是吧?啊?这个双引号也就后面这个双引号呢,这个也是这部串需要的双引号,你们不要以为这也是阶层里面的格式啊。这个不是阶层里面的格式,阶层是没有双引号的啊,真正的阶层是没有双引号的啊,这种啊,然后教练,对吧?这种看起来会舒服一些啊这种看起来会舒服一点啊。 哦,那是男的,可以理解吧。好,然后这个怎么解析呢啊?带你们解析一下啊,比如说,当然我们其实刚刚解析只解析到一半啊其实并没有解析完啊其实我们刚刚解析到并没有解析完啊。然后我们解析一下这个啊解析复杂的 先生怎么算啊。那么先生我们看一下啊我们解析的这个东西呢其实我们真正开发来讲我们肯定希望得到这么一个东西, 根据根据这个阶层你觉得我会得到一个什么东西?历史根据这个阶层你觉得会得到一个历史吗?肯定是得到一个宽省的这么一个对象然后这个宽省的对象里面有一个什么属性呢?有一个历史的不可属性是不是应该是这么一个东西能想明白吗? 啊对对对只说只说我把历史的给列出来而已对吧?还有 number 这些懂这意思吗?比如说最后我希望得到是这么这么一个东西我后面才好操作嘛能想明白啊那是男的可以理解吧。呃这个这个这个能听懂吗?就也就说为什么基于这个阶层会得到这么一个对象 然后想明白吧。嗯然后想的明白哈对吧他其实说白了就是一个音音色的关系嘛。好那我们把这个类创建一下啊把这个类创建一下。肯定类你肯定要创建出来不然这个坡上从哪来呢对吧。类肯定要创建出来啊。 ntt。 哎搞错了包包好。然后是什么呢? person 都没有类啊。好除了有 person 呢还必须有什么呢?有不可 好顾客里面两个属性根据这个接手我们是不是能看出来顾客里面两个属性一个是什么?顾客 name 和价格是吧啊? private string 顾客 net 这第一个属性第二个属性呢? double price 价格好 step 方法来一套, 好,然后再来 toustine 方法来一套好,再来构造方法来一套,好,再来无差的构造方法来一套,好,搞定啊,你看对吧?啊,几秒钟写三十多号代码是吧,完全不是问题啊。好, 然后接下来我们来看一下啊这个 person person 是什么呢? person 肯定是 string。 首先 name 是不是姓名 interage 年龄还有一个 list 不可不可。然后这里是不可思对吧?啊不可思啊。 好,拿过来好,然后接下来再来再来啊 set get 方法来一套构造方法来一套啊,午餐构造方法来一套啊护士运方法来一套啊,点错了, 搞定啊。好啊,如果如果喜欢的话还可还可以把一颗粒呃那个什么啊哈西扣的一块石再来一套是吧啊,好,然后接下来现在这个结构又有了啊,也就最后呢,我肯定是希望得到这么一个快生对象的。好,那么我们先来解析它啊先来解析它怎么解析呢?也就是说你虽然说它是欠套在欠套的对不对?但其实从最大的方向来看,它是一个对象还是树种 对象?也就说你只要看什么呢?看最外面的这个括号就可以了,如果他是中括号,说明最大的方向是数组如果他是一个大括号,说明最大的方向他是一个什么对象。所以说对象我们应该用什么? 接生 overject, 顺便用接生 overject new 一个接生 overject 可以理解吧?好,然后干嘛呢?把这个 p 这个支付算放进来 p 这个支付算放进来。好,这里有一个 ok, 搞错了搞错了,不是 new, 这点什么 flow? 点 flow 安卓写多了,在安卓里面是 new 的啊,在安卓里面是 new 的啊。好,然后这个接收器的,我们这里稍微看一眼啊,那么获得名字很简单,点 get 是 dream, 是把耐磨忘了一丢就获得 这个,这个是不是人的名字?对,那样吧,获得年龄也很简单,接生,点 get int, 然后再把 h 往里一丢,是不是接下来返回的就是一个 inter, 可以理解吧?好,然后我这里先新建这么一个对象啊, percent 啊, person 等于六一个 person。 好,这个 person 打下包啊,打下包,好,然后这个 person 呢?我们来看一下,如果你的名字得到了,我是不是点 set name, 把你这个名字设置行了,嗯,可以理解吧。好,然后你的年龄得到了,是不是我点 set h, 把你这个 h 设置行了,可以理解吧。好,然后接下来,好,他输了啊,接下来啊,解析, 解析。图书。好,我们来看一下啊,图书,它虽然有个,它虽然有一个 key, 对不对?但它的 value 呢?是一个什么东西?是不是一个接生?哦,接生而为啊。好,那我们看一下啊,那么这里怎么办呢? 直接返回一个看,好啊,接上,我们这个的里面有一个方法,这个什么方法呢?叫做点 get 接生而为,看到了吗?能看明白吗?点 get 接生而为,我要获得哪个接生而为呢?是不是一个 k 的是叫不合适的这么一个接生而为。 来,领导的意思叫他的 wind 是不是一个接生而瑞,然后这个方法返回的就是一个什么对象,是不是就是一个接生而瑞的对象?对,能想明白,然后接生而瑞是不是就要便利这个接生而瑞通过循环?比如说,这个接生而瑞对象对应的是不是就是这么一个东西?历史他的不可不可死的这么一个集合,可以理解吗? 画的是男的,这个能看懂啊啊,也就是说这个接生而为对应的是不是这么一个集合,可以理解啊?然后接下来便利这个集合复合循环。 inter 什么呢? interi 等于零, i 小于多少呢? i 小于这个接生而为点 six i 加加 i 加加。好,然后我这个接生而为里面的东西呢?又是一个个的什么东西? 里面的外语又是一个个什么东西啊?是不是又是一个对象?嗯,所以说,因此呢,我们再怎么拿呢?接生而瑞典 gator 接生,你会发现又一个什么接生,我们借给他,然后再把下边 i 放进去,这时候表示取出 b 挨个接生 objk, 可以理解。哦,那是这样的,然后拿出来的是不是又是一个接生?哦,不,谢克特,对吧?啊,这个就是顾客的 懂得什么?然后这个 book, 我们介绍它,它对应的用什么呢?它对应的是不是就一本本的书?可以理解吗? book 可以理解吗?然后再把这里面的属性意思给拿出来,点 gitt 十菌多科 name 是不是拿出来?拿出来以后是不是得到说明, 可以理解吗?啊,好,再来他点 gator double 是不是给它 double double 是那个叫 price price 返回的呢?就是 double 啊, double price。 好,然后再把这两个属性呢设置到我的 book 里面去,点 set book name, 我们看好再点 set price 啊。哦哦,等一下 set price, 然后把这个 price 放进去,然后这本书是不是好的?然后当最 好还要还要做一个什么操作?是把这个 book 干嘛?是不是加进这个速度当中 book, 点 a, d, d book, 然后这个便利完了,这个速度是不是也得到了?最后在干嘛?还要干嘛?再把这个速度给谁?是不是给这个人呢?人是不是有个 set books, 再把这个机格设给他,好,这样就解析就完成了。 然后最后我们来看一下这个 percent 的对象, percent 对象右键一直行,你看这就相当于得到这么一个 percent 对象,名字呢是小明,年龄是十八,然后有一个 books, books, 里面又是一个 book 的对象 book, 那么呢,是从入门到放弃,是吧?然后第二本书呢?是买三本数据库,从三库到跑路,是吧?啊?就这样子啊,搞定是吧?啊?搞定啊,你看这个解决过程可以理解吧?啊, 对吧?这个好,晕吗?啊?这个晕吗?晕不晕?大声的告诉我,晕不晕?晕晕哈啊啊,好啊,然后呢,这个这个题就是 就就就什么呢?就解析阶层啊,这个就解析阶层啊,好啊, ok 了啊,其实呢,其实呢,我们真正解析的时候呢,这一堆其实我们通常可以不用写, 这一堆都可以不用选看好啊,从这里我只跟你们讲一个解决的过程而已啊,其实我们来让你们看一下一个神奇的事情啊,看,好啊,也就说接生,也就说,首先我们来看一下,现在我们是不是希望得到一个对象,对不对?现在我们需要希望得到一个 pose 的对象,对不对?如果你希望得到一个对象,你就用这个东西,就用接生 oppo jack 它里面有一个方法。有一个什么方法呢? to b 这个方法 to b 这个方法好,然后把这个接生 oppo 键的很这个接生 oppo 键的还是要啊这个接生 oppo 键的还是要把这个接生 oppo 键的拿进来放到第一个参数 第二个才会告诉你。你希望得到一个什么对象我希望得到一个 percent 的对象。 percent 点 class percent 点 class。 注意啊这个 class 什么东西我们后面就会学了他是反射的一个东西啊他是自己码对象啊自己码对象 他返回的呢就是这个炮声对象就这个炮声对象就可以了你看一下这个炮声对象啊打一下这个炮声对象啊。右键一咨询 你可以看到它里面。呃它这个地方的话我稍微看一下啊它这个地方是一个数数啊它这它这个里面是是这么一个东西啊。我首首先首先我们不用管它,但是我们可以看到价格书名价格书名这些是不是都有了 能看到啊价格说明类都有了,看到了吗?啊就可以搞定了啊对吧啊对吧?小明年龄对吧。二十然后不跟奈么呢是他然后这个二十五呢?不跟奈么是他啊就可以搞定了啊。也就说你看啊刚刚我们写了这么多他这为什么一句话可以搞定呢?他这里面其实就是什么东西呢?反射他这里面就是用反射实现的。 准备走他这边就是粉色实现的啊。提前让你们看一下粉色的好处啊提前让你们看一下粉色的好处啊。因为刚开始接触粉色的话是不怎么好理解的啊因为粉色这个东西的话就是呃就是呃 确实是一个比较比较特别好用的一个技术啊特别好用的一个技术啊。啊大家说一说那个后面会讲几次啊后面会跟你们讲稍微讲几次啊好啊然后总之我们就知道他底层轻松反射的事情啊那我们就能够实现的控了啊。也就说把刚刚的那些就是刚刚这么多代码合成一句话就好啊合成一句话就可以了啊 这又反射啊好然后我们换过啊这里我们稍微换过来一下啊或者或者把它拿下来把这个东西拿过来放在这个地方来放在这个地方啊好啊然后我们再通过这种方式再来解析一个啊比如说我再来解析一个这个东西 石俊布啊那个那个什么 p 二啊 p 二等于等于什么呢等于这个类型看好啊首先最外面是一个什么最外面是一个数组然后里面呢对象对象两个人好第一个人呢他有什么呢 啊第一个人呢他有 name 啊然后是小明啊小明啊然后呢他有 age 啊然后是十十六然后第二个人呢书我就不放进来了啊因为再把书放进来就太复杂了啊书书再放进来就太复杂了。 number 的话就是这个是什么那个小红啊啊 age 呢是 h 呢是 h 是十九啊这样子好两个人。假设我想解析这个手串当然你可以像我们刚刚一样的是不是直接从最原始的方式这么一层一层往下解析可以理解吧啊还有种干还有种方式是干嘛呢看一下啊,这种解析方式,如果最外面是一个什么?最外面是一个接生而为,看到了吗? 那么这面是接生而为,我们就用它接生而为,点突什么呢?也就是说这个最后的结果,你要首先你仔细介绍的时候,你一定要搞清楚最后的结果是什么?最后的结果一定是这么一个东西, list first, 这个是一个最后的结果,对,是吧?那么你希望得到这个最后的结果呢?我们就要用这个方式点 to 什么呢?大家觉得 to 什么? to 什么? to list 是不是很接近了啊? to connect 啊, 这个 to connection 看到了吗? to connection。 好,然后接下来首先把接生 ree 点 for name for name, 把刚刚的这个支付串拿过来,把这个支付串拿过来放在这啊, for name。 好,这这个方法是会返回一个接生 re, 看到了吗?第一个参数是接生 re, 然后第二个参数也是一样的第二个参数,请告诉我,你这个里面是一个一个一个的什么对象?一个一个的 person 对象,点 c 点 class 啊,它这个里面也是反射它返回的就是一个什么呢?返回的就是一个 lister, person, person, 这样子 长转一下啊,然后打一下他看,好啊,打一下 persons, persons, 右键 一直行,我们可以看一下这个里面是不是小明,当然数是不是空,对不对?第二个人,小红十九是不是现在看到吗?忘的是单的,对吧?啊?轻轻松松啊,轻轻松松是吧?嗯,应该,应该,应该,应该还好吧,应该很简单是吧?这应该很简单啊,好啊,然后这个时候 啊,搞定了啊,这个搞定了啊?好,那接下来呢?这个他,他这个也就说。呃,其实我们干嘛呢?只要用熟这两句话就可以了啊?用熟这两句话就行啊,当然这个一般也是什么呢?一般也是客户端的人用的啊。一般也是客户端人员用的啊,通常我们只要负责什么呢?通常我们负责是构建啊。 好,构建这个东西呢,我们明天再说吧。哦,这个我们明天再说啊,这个我们明天再说啊。呃呃,我们先休息一下啊,待会再来讲一个特别的东西啊,休息一下。

嗨,大家好,今天我们来进行我们使用 power odo medo 教程的第一章的第七节课,嗯, 接送的介绍。在这节课中,我主要给大家讲一下接送的定义和制作接送以及读取接送的一些方法。首先我们看一下什么是接送,接送是那个 javascript object to nato 型的缩写,然后一种是基 于佳博斯 grip 数据定义语句的语言,然后接送现在不仅应用于佳博斯 grip, 然后还用于在这个加瓦, pcp, python 各种语言当中的数据交换,尤其现在就是说用的最多的是 a 加库和 rest ap 啊。然后大家可能是没做过编程的一些朋友,可能对这些语言不是很, 嗯,接触的不是很多,其实接送就是一种数据数据交换的一种一种语言哈,是非常简单,这种语言非常简单,也是现在市面上用的最多的一种数据交换的一种语言。 然后这个接送的基本的用法就是说,第一就是说一种常用的情况是在这个大 括号当中用冒号分隔这个变量和值写成,写成如下就是姓名,然后冒号,然后照例。然后第二个就是说你可以通过用逗号来连接他来指定多个变量的名称和值,像这个姓名是叫青云烟,然后 中间一个逗号,然后是年龄是二十六岁啊,打个比方,我们这种最常用的这种写法哈,第一种就是说用户信心,然后用户的 user d, 然后是 a, 这个 user ared, 然后 user name 是小红,这是一个接送的一种写法。 还有一种接送就是说大家看了比较碰见的比较多的这种写法也是比较复杂的,这种写法哈,就是说接送的和这个呃和 速度进行连用的写法,这种用法现在也是比较多,嗯,大家看起来会比较乱,但我让我们具体的讲解一下。 首先这个中括号,这个中括号其实就是指定这个数组,然后数组可以元素可以用,就是字符串,也可以是数字哈,下面这是数字,然后可以是控制,也可以是真假真假区分和对象, 哎,这是对象哈,对象列表这一块就是对象,然后和数组,这都是数组, 数组里面也可以是数字,也可以是文字,文字必须是用双引号把它隔开,呃把它括起来,然后中间要有逗号把它隔开,然后在数组里面还可以再加数组。大家看了这个 这个速度里面还有在于速度,速度,我们下面就要把用用这个帕瓦奥多密度 在解析这个接送读读出来。这节课我主要给大家介绍我们在这个 power odo mate 迪斯库 double 里和这个 power odo mate 这个云端的这个两种 poweroto mate 这个工具里面,这个对这个接送的使用方法来进行解析。 在这个跑沃欧多妹的迪斯库里面,第一步首先要设置变量,设置变量就像这种啊,我们自己设设置一个变量, 然后这个变量要设置成对象的形式,然后我们第二步要将这个接送,将这个变量我们前面设置的这设置的这个变量,嗯,转变 变为自定义对象, 然后我们再从这个自定义对象里面,然后获取这个接送的属性和获取这个接送的速度两种办法。然后第二种途径就是我们在这个跑步 order me 的这个云端里边,这个云端跑步 order me 的这个工具里面 对这个接生要进行解析啊,首先我们要设定初始化变量,对这个接生进行初始化变量,然后我们还要对这个接生进行分析,用这个分析接生这个数据。 第五我们对街上进行分析完之后,然后我们再从这个街上里面获取这个街上的数 属性和接送的速度。所以说 power order made ds dof 和 power order medal 这两种这个 自动化处理的这个工具看起来好像是一样,但是对街上的处理是完全不一样的处理方式,大家,嗯,上完这节课之后就会明白了啊。让我们先首先看一下我们的实力, 我们来到了我们这个 power order mate disktop 的这个这个桌面,打开我们这个,呃,第一章的第七节课打开, 首先我给大家解释一下,我们这节课的这个已经制作好了,我已经制作好了这个内容,首先就是说我们在这边设置个变量,设置变量是在这个这里面啊, 设置变量,设置变量,把设置变量拖进来之后,然后大家看一下我设置这个变量,设置个变量,嗯,我就不一一给大家写。首先就是说我给这个变量起了个名字,就叫蛮招耸, 然后这个变量,嗯,卡了,卡了里头,然后我把它设成这个数组,然后数组这中间是用逗号进行隔开的哈,这就是我手写的哈,手写的这是 这个,呃,对象,对象列表,这是一个数组,但是这个数组里面是属于排列啊,是用大括号括起来的哈,这是大括号 啊,然后这边是排列,排列,排列排列,然后这个这也是个排列,这就是我们对这个这个接送现在最复杂的一种写法方式。 然后在这里然后我们再给加上一个,将节省转换为自定义对象,然后是在这一步哈变量里面这一步,然后我们打开看一下, 然后我们上面定理,这个变量就叫 my my jason, 哈,这个变量就叫 my jason, 大家看一下这个变量, 变量叫满接送,满接送,然后我们把这个变量转换成这个自定义对象,然后在这里 这个这个变量选择变量,我们就可以就选择这个马接送,然后接送,然后声称的变量就叫接送 s cut the more object 啊,然后然后我们下面就要用用一下这个转换成变量,然后首先我我们要获取接 属性,然后说或许这个接送的属性,嗯,是在这个,我们刚才已经把接送转换成自变量之后,在这后面又加一个逗号这种写法,这种写法是这个逗号,然后看了 color list, 然后靠 list, 然后这属于接送属性,也或许接送属性这种写法。消息框五确认,然后这些后面就不用改动了,然后保存一下, 然后我们首先做这一步,然后我们运行一下哈,取出这个 color distal, 呃, color list 我们看一下运行, 然后这 color list 就是红色、绿色和蓝色哈,然后确定一下,大家 会看到上面这个 color list, 然后是红色、绿色、蓝色就是这个属性,把这一行都给取出来了,这个值啊。 color list 是这个接送这个 object 的这个属性啊,然后下面这一个我们就要获取这个 接送每一个,每一个值,哈,每一个值,它属性当中的每一个值,哈,大家看一下这一个,我们首先加一个 foreex, 这个 forage 是在哪加入的?是在循环这里面,循环这里面加入 forage, forage, 然后加入 forage 之后,然后嗯,要 替替代的值,哈,替代值这个 forest, 然后我们就是说个上一步,我们抽出了这一个,嗯, color 绿 找卡特利斯的这个属性,然后在在这个后面加一个小逗号,然后加上卡特利斯的这个变量, 然后把每一行都储存到这个 carry 的 item 里面,然后我们用这个显示消息这个,然后把每一个就是说 curry 的 itam 给它显示出来,然后,然后我们在这前面又加了个 z z 啊 z z, 然后这是我自己用手写的这一个,然后这是一个边脸啊, curi 的 it, 这是个边脸,然后我们确认一下,可以,这面我们执行一下, ok, 就像之前我们把这个关掉,把它显示消息,把它关掉,禁止操作,点击右下右键,点击一下禁止操作,然后把它关掉,运行一下,看一看,然后他会 一条线,是贼贼的,红色啊,这是红色,然后贼贼子是绿色啊,绿色,然后再显示一下,贼贼子是蓝色哈, ok, 确认好就执行运运行完了,这就是我们在这个 power order mate 的 disco dough 里面这个接送的使用方法。下面我再给大家介绍一下我们在这个 power order mate 这个云端处理的工具上,然后对这个接送的使用方法。首先 嗨,我们来到了我们这个 power order mate 这个云端这个工具里面,然后我们在这里也给大家介绍一下我们如何使用这个接送。首先我们打开这个第一章的第七节课, 首先我们第一步,这个是手动出发流,然后第二步是设置,呃,初始化变量 垂直画面呢?我们看一下, 嗯,大家会看到这个, 大家会看到这个初次化变量,我这边是设置了这个 y 接送啊,然后这个类型我们把它定为一个对象, 给我一个对象,这就是初始化变色变亮的对象啊,然后这个写法是不跟我刚才这个一样,是卡罗利斯的哈,然后拿布利斯的这很多的情况,很多的写法, 然后这个写法是跟我们这个 power order me 的 disco 豆腐是一样的写法哈,然后在这面这个初始变量了添加这个方法哈,是在这一个,然后点击一下这个插入新步骤,把 鼠标放上,放到这里之后就会出现这个十字,十字号,插入新步骤,点击一下插入新步骤,在这里输入一个变量 变量啊,也可能就直接就跳出来了哈,然后初始花边量,你可以点击一下这个初始花边量, ok, 然后输入边量名,你可以随便输入一个边量名,然后 然后在这里,然后你可以选择对象,然后把我们刚才写的那些这个值,然后就把它输进去, 关掉,然后这个字,哦,这就是,这就是这个,我们这个就设置好了, ok, 大家看一下啊,这就是我们要初始化初始化变量的设定啊, 关掉, ok, 然后对这个数字化变量的设定,然后我们要在这里有个加上一个分析阶层,这个分析阶层是在哪一个步骤也是添加这个内置里面,内置里面有个 数据操作,然后在这个数据操作里面有个分析接送啊,大家点一下分析接,分析接送的这个内容,然后我们就选这个刚才我们上面设置的这个变量,然后框架 框架我们就要从视力生成,点击一下下面这个从视力生成,然后把我们刚才这个上面这个接送上面这个接送设置的这个内容,然后把它复制一下粘贴到这里,粘贴之后完成,完成 之后你会发现这个呃 powerovermate 就自动把它生成了这个 type object, 然后 properties, 然后是这 color list, 然后 type, 然后是 urin 啊,这是那个数组的意思哈,然后它会自动生成这些, 就是说,嗯,他的框架, ok, 这就是我们要加入这个分析接送这功能,我们把它删除了,我们下面因为下面有了,我就把它删除了哈,然后我们在这边把它分析完了这个接送之后, 然后下一步我们要获取这个接送的数据属性的数据啊,然后在这里插入新步骤,然后添加数据,然后选择操作, 选择操作,然后我们在这边,嗯,还是用这个内置里面这个有个, 有个数据操作,有个数据操作之后,然后我们点击一下编辑,编辑里面,因为我们上一步是这个名字叫做分析接送哈,然后是分析接送,分析接送项目里所有的属性都已经显示到这里面了,然后我们点击一下这 color list, okay, 好,我们把它呃,点击一下上面这一块,把它关闭了,它啊, 然后,然后我们在这边,然后再就是说应用到每个获取接送的数据啊,然后把下面这这两个给他 删除它,然后下一步我们就是说,嗯, 要获取每个数组的数据啊,然后在这里新添加一个,新添加一个,我们在这个控制里面有个应用到每一个, 用到每一个,然后就首先这一个点击一下这个输入框哈,把鼠标放在这里之后,从先前的步骤中选择一个输出,然后我们先前的步骤是这个分析接送哈, 然后我们这个分析接送,然后我们就把输入也是输入这 color, 我选择这个 color list 啊, 然后在这里然后添加操作,然后 color list 当中的每一个值,然后我们 添加操作,也是我在这边还是用这个用这个数据操作当中的编辑,大家看一下这个编辑,然后大家向下移,嗯, 就是把鼠标放到这里之后,然后右边这个框会出现,他可以选择了这个项目啊,然后就是一直移到下面有当前项,点击一下当前项, 嗯,这样我们预测试一下,测试一下,然后点击一下测试,手动 点击一下运行流完成,哦,他已经运行完毕了,然后我们 看一下他来测试结果啊,这个是属性,这个是输入的是红色、绿色、蓝色,这是个数组啊,这输出的也是红色、绿色、蓝色,这也是个数组, 是没错误的。然后下面这一个,下面这个点击一下编辑,然后他是以分三步进行输入的哈,因为我们上面是这是个数组哈,然后这数组,然后从接送当中的数组是接送的数信用当中的数组, 然后第一步,然后他是输,输入是红色,然后输出也是红色,我们看一下下一步,下一步输入是绿色,然后输出也是绿色,然后再看一下下一步, 然后输入是蓝色,然后输出也是蓝色,这样就没问题了。这就是说接送里面的数组的数据我们也取得了,然后 整个数组,然后我们也可以也获取了。然后这,这就是我们对这个 接送制作,还对这个接送从接送当中获取数据的。在这个 power odo middisco 和这个 powerodo, 嗯,跑我我都没抖。这个云端这个处理器的两种的制作方法,不同系统数据之间的传送是经常遇到的一个一个难题啊。也是大家如果对这个节省的构造和节省运用能够熟练掌握的话,一定会大大提高我们的工作效率, 一定对,会对我们这个自动化处理一定会大有帮助。好,谢谢大家。我们这节课就到此为止,我们下节课再见。拜拜。

这里我再讲一下第三种解析方式啊。第三种解析方式呢,我们这里先来讲一下如何从这个网页当中来爬取这个阶层数据,那么阶层数据的话,一样的啊,就是我们在 我想要爬出来这个网页当中,如果啊可以的话,我尽量还是推荐大家使用这种第三种节省节气的这个方式啊,按一下 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 请求的话,就可以直接在网页上我们展开一个新的网页,然后再粘接过来回侧,那么所有的这个当天的十一月六号的 这个时间段啊。啊,这个是今天的日期啊,就是十十一月五号的啊,因为他的更新他不是时时更新的,他是在某一个区间段才会更新啊,也就是说今天晚上拿的是昨天的啊,昨天下午两点钟的这个最后一次更新的这个数据 啊,那么这里面应该有几百条数据,所有数据都在这里啊,那我们就不不需要去啊,一个一个的去解析这个网页的这个什么路径里面的内容了啊,这样是最为快捷的一种方式。

现在我们去看一下第五问,如何从响应结果当中提取数据呢?我们在之前的视频当中给大家讲过如何查找 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 是 把它放到方括号当中的。那然后我们现在呢再去看一下整个的这个正则表达式,我们写完了,然后现在呢我们去验证一下,看一下有没有问题,如果有问题的话,咱们再去调整我们的这一个正则。 然后现在我们发现他的数据是不都被提取出来了?提取出来之后是一个什么类型呢?你发现他放到了一个列表当中,然后北京北,北京东是不是这样就提取出来了? 所以在这里呢收到了一个正则表达式的问题。如果是正则表达是不熟悉的,想去了解正则的,你可以去加一下杨老师的这一个微信,然后呢我们去沟通一下关于正则的事情。