00:00
欢迎大家来到学习地,那么在上节课呢,给大家去介绍一下我们关于叉plus的一个基本操作和使用啊,那么接下来呢,我们继续来看一下关于叉plus的一些呃解析和操作,那么在判断当中呢,使用叉八,上节课呢,我们给大家演示的是这种方案,就是说我们在我们的编呃代码当中呢,去定义了一个编量,编量当中呢是我们的一些HMR的内容,那么接下来呢,我们就用e.HMR呃这种方式来行解析,就可以在这个呃返回的这个节点当中啊来进行相关的数据的处理,那么我们接下来呢,先看一下第二种方式,就是读取一个HR的文件。啊,然后再去进行一个啊内容解析啊,所以因此呢,这样我们在这个呃,本尼课里边呢,我们先把它啊,先定一个这样的一个H的文件啊,我们来操作一下,嗯,在这里去定一个HP的文件啊,这里我们叫它呃,Test test d PL,嗯,好,然后定义好以后啊定义好以后,然后我们把我们刚才的代码内容呢,给它复制过来,然再给把它复制。嗯,把这个内容C好,然后粘到我们当前这个脚本里面啊,它原有的我们就可以不要了,好那么这样的话,这个A的这个代码内容呢,我们就已经有了,好那么接下来我们看一下啊,如何去解析这样的一个啊代码内容对吧?好那么这样我们在这里呢,再去定一个第二个脚本。
01:11
好,来开始第二个。啊,叫做什么插式方式和数据方好,那么接下来在这里面呢,也需要去导入我们的仪器对吧?好,我们这里呢,直接把它复制过来,好导入以后我们来看一下我们的第二种使用方式是怎么样的啊,前面我给大家介绍过,说我们去定一个变量,然后再解析对吧?第二种呢,我们可以直接读取一个S的文件,然后这样再把它解析一下,我们看一下能不能使用来复制一下这一段,呃,代码内容啊,这我直接把它复制完啊C。好,然后到我们这个脚本当中,嗯,当然这个里边有问题说有问题啊,我们把它调整一下,看第一个。这个嗯,好,那么第二种方式啊,第二种方式来读取啊,一个HTML文件啊AA。
02:05
文件便捷性好,没有问题了啊好,那我们看一下test的,我们刚才那二已经定义了,对吧,那么进下来呢,我们先看一下第一种第一步啊,就是它打印的我们解析的这个结果是什么,来看一下这个位置在哪,然后后面呢,干嘛呢?我先把它注示掉啊,来运行我们的脚本来点击。那么大家能看到当前的是一个什么,呃叫RL1的一个呃一个节点对吧,那么接下来呢,这一步呢,是把它转成一个呃正号对吧,那我们来看一下。再运行啊,这样我们把第三个给打开啊,大家呢,都来看一下第一个里面啊,第一个里面是一个对象随别签对吧,第二个里面呢,是转成一个二进制,二进制的啊这个文本流对吧?啊或者叫二进制的字块,那么接下来后面呢,我们U用UU8来解析,但解析后之后啊,呃,这个字符集好像有问题啊,我们看一下是不是我们这个位置,呃,本身定义它的那个字不机有问题啊。嗯,我觉得我们可以不用啊,就是不需要这一步啊,我们可以直接这样操作,就是我们来看一下在这个地方,比如说因为文档结构和上节课的,上节课的内容一样嘛,对吧,我们来看主要看一下这个方式它能不能啊,读取到我们想要的这个内容和信息就可以了,来所以呢,这里复制一下这个内容。
03:11
怎么放这儿?然后接下来呢,我们把一二的结果来运行。内容大家来看一下,我们不需要我们需要进行任何处理,只需要用1.pass去解析对应的那个呃文件,然后呢,使用的是a pass的方法,就是你要传这两个方法来解析,解析完了以后使用的方式是一样的,如果你提取呃解析数据啊,你要提取数据啊,不对,来解析数据啊,提取吧,提取取数据啊方式和我们上节课的用法呢,是完全一样的啊,所以这里边就没有什么呃其他差别了啊,所以推荐大家呢,你在使用的时候,可以使用第一种方案,也可以使用第二种方案啊,第二种方案好张建。在这里呢,我把这个方案啊,然后放到我们第一个课件里面啊,那么稍后大家呢,啊跟小伙伴们可以从我们的啊这个课件里面来看一下我们的呃,一个操作,然后呢,我们把这个内容呢,放在上面。嗯,好,这是第一种对吧,嗯,一种啊数据的解析方式,好,然后接下来是第二种,嗯,好了,嗯,那么现在是这样的,嗯,我们大家已经清楚的知道了,说我们现在啊,这个数据的一个提取方案,之后我们来看一下啊,我们想要提取数据都有哪些方法,我们来大概介绍一下,来打开我们的。
04:17
啊,给大家准备的这个PDF课件,好,首先第一个叫做呃下面啊下面呃下面这个A。是哪位啊,在这位啊,来看一下,刚才大家写的是这种方式,说直接使用根,然后来呃,获取我们的一个节点对吧?然后呢,也可以使用双斜线来直接选取啊子节点啊,或者选取当铁节点啊,以及no的这种方式都可以用,那接下来呢,我们看一看后面还有没有别的啊来往下走,好来看这个位置,这个我们之前在选取的这个SMR的这个代码当中呢,我们是从头到尾捋过来的,对吧?好,现在我们是这样的,直接啊,直接找到所有的R,好这个意思,直接找到所有R,那我们来来看一下这个脚本和上一次有什么区别哈,来这样我们先把第二种方法呢,也给大家拿过来,来CTRLC复制。啊,因为我们这里操作的方便一点,所以我能整就写到这个位置啊,来看一下第一个来读取文件啊,解析这个叫解析A4D代码解析A文件啊文件,然后第二个呢是提取数据啊好,那么提取数据这个里面呢啊,我们用的是这种啊,这个叫斜杠的方式来进行提取啊,那么接下来我们把它复制一个。
05:17
来,我们看一下第二个方式。嗯。放到这好,这里面我们不就是想读取所有的R标签里面的,所有A标签啊里面的嘛,对吧,所以呢,你可以这么写,把前R前面的都删掉。啊,RI前面的都删掉啊都删掉,然后变成什么呢?变成两个斜线,两个下线啊两个斜线RI,然后下的什么意思?页面中所有的啊,所有的这个啊这个这个内容,然后接下来分的这个量的结果,运行脚本。噪音好大家能看到啊,它目前它的结构是一样的,对吧,那是因为我们当前的这个结构是一样,好假设是这样的,假设这样的啊,这个位置呢,我给他一个ID,呃,给他一个class吧,Class我们叫它me啊,Menu啊,比如说菜单是吧,好,然后这里面呢,定一个D啊,然后这边呢,再定义R,再定义R啊,然后定义标签啊定义啊比如说。
06:12
呃,比如说我们叫做什么啊,叫做啊原书啊原书。元,哎,哪个书啊,袁书啊,还有圆色是吧,啊叔叔色是吧,圆色色是那个色。啊,这个嗯,好,然后还有元解,嗯,好,就来这么几个吧,啊,就来这么几个好,最后一个一。这个地方斜方二写方啊,这个地方斜方三写杠,好吧,啊,就这样的一个例子啊,好,那注意看啊,注意下,好在我们当前的这个两个方法当中,对应的得到的数据大家来看一下,完全不同,这个时候就变得不一样,为什么啊,因为上面我们指定了是从包底,呃,从这个HMR的包底里面找,直接找它包底中的直接子元素叫做UR,然后再去找R,也就是说他第一次找的时候找的是点,找的是包底的直接子元素,就这个UR,然后再找到R,再找里面的A标签是这种放射类提取的,但是我们第二种呢,是找到页面中所有的R,也就是说前面我不管,前面我不管,我直接找所有R,那么上面这个是,下面这个也是,所以在第二个方法当中,它解析的范围就变广了,那么范围变广是好看还是坏?是的,这个不一定啊,就看你自己的需求,如果说我这个脚本只是想提取上面这一部分,那很很明显啊,第二个就不符合要求了,对吧?如果我只是想提取啊第二个的,呃,这个数据,那当然这两个方法就都不对。
07:33
是不是这意思啊,所以那我们来看一下,如果我只想啊,就是这个方法可以提取所有这个方法呢,能提取第一个对吧?好,那我们来看一下我们如何提取第二个,这个里面呢。放这里面好,那么大家注意看我上面这个位置呢,给这个UR呢,写了一个class啊,然后下面这个位置呢,来我来写一个class,呃,叫C啊,等于这个叫哦T吧T,嗯,记好,那么在这里呢,写了一个类啊,写了一个类,接下来我们看一下如何通过类的这种方式来进行一个数据的获取,来找理。
08:02
啊,这个是获取获取页面中所有所所有有的啊,这个R里面的里面的的数据啊,然后第一个我就不用给大家解释了啊,第一个就是就是挨着顺序往下找啊,挨着挨着顺序往下找的啊对,然后呢,接下来我们来看一下来获取获取指定指定标签。标签啊。标签里面杠啊二好,那我怎么做呢?啊,这位的R等于我们的啊,HPR,点上我们的这个叫法方法好,然后呢,用它来进行解析,那么解析的时候我们可以直接找到页面中D,但是这个页面中如果你看目前虽然我只写了一个D,然后然后如果页面中的D比较多的时候怎么办呢?那很显然它可能也不符合要求,对不对?所以这个时候怎么办呢?哎,我再确定一步,因为我当前的这个div class里边是个梯。对吧,好,那我就这么写好class teacher对吧,那怎么办呢?在我们当前这个解析的时候,我们就在这个地方写一个好综上。
09:06
号等于写上啊T,然后再往下的,然后找A啊,标签里边的啊TX啊X,然后我们再来看当前的结果print啊来运行我们的脚本。就行,找到div,然后class ch DR下面的。里面的A里面的我看哪里有问题啊t teacher。这地方写错了吗?来运行一下。不对,有问题。找到div。艾特class tr。下面的R下面的A下面的。嗯,没有问题哈。然后teacher。然后R,然后下的标签里的内容。
10:04
嗯,Div等提。我看一下他说的是什么问题,没有找到内容。嗯。这个里面没有R吗。哦,这个里面没有,嗯,这个里面还有个UR对不对,所以它因为一个斜线的话,找的是这个叫什么,一个斜线找的是它的直接子元素,所以这个时候我们还还得有两个斜线,好问题在这好然后下面呢来运行。啊,大家看一下原属啊,原书原始原点对吧,那这样的话就都能够获取到了对吧?好,那同样获取了标签的内容以后,我想获取它的这个叫对应的这个,比如说应这个链接里边的哈属性,那么这个时候怎办的啊,大家注意看啊来我刚才这个位置获取的是A标签下的type,这是获取文本,获取文本好那么对应的,如果我想获取它的这个属性啊,怎么做呢?好这个地方换换成换成艾符,艾符艾符写什呢?写它你要获取的那个属性的名字,属性名字我们那个属性是叫have h rf,好,然后这种方式来获取,好看一下我们的R。
11:17
来。运进行啊,原书原始连接对吧,自动获取,好那是这样获取以后啊,我们想是这样的,这个原书啊和它的A链接在一起,然后原始和它的A链接在一起,这个原解呢,和它A链接在一起,那么这个时候的话,好,我们来,呃,用我们的开始当中的一个方法叫做Z函数,我不知道大家还有没有印象啊,我们来看一下,那么这块函数Z括号啊,我们用新这块吧。用星星这块,然后把我们的呃,这个R。这个叫T啊,这个叫H。改下边了。然后把这两个变量的内容呢给翻过来,一个是T,一个是H啊,那么接下来我们看一下这个内容解体的结果,来我们看上面看下面这个行,下面的结果是不是就变成一个元组啊,一个元组,那么这个里边啊,原数对应的它的A连接啊地址,然后原始对应的它A连接地啊,原解对应它的A连接地址啊,那这样的话是不是就可以了,当然了这个数据呢,你也可以用用什么用我们的一个。
12:20
好。嗯呃,历史的现在。呃,有问题是吗?新这个哦,我们用这个用这个函说来看一下运行,嗯,大家看一下这样的话是不是就完美解决我们这个问题了,对吧?那这样的话上面的打印就不需要了啊,那么这样的话,我们就等于一次性获取到了我们这个对应的数据啊,这就是用我们的插pass来解析我们的数据啊,其实方法非常简单,大家只要能掌握两个第一个啊,第一个注意点啊,第一个是根,代表什么意思,这里我写一下复式吧,需要什么呢?啊根啊就是当前,当前元素的时间,当前元素元素啊,直接直接直间直间。
13:15
啊然后呢,两个斜杠是当前表述啊什么呀啊,这个叫呃子节点,子节点或节或春值,其实就是包含就可以了啊,包含就可以了啊然后接下来呢,我们的提取方法啊,再用使用text方法啊这个是获取平的对吧,获取获取文本,然后呢,这个爱的属性没属性属性这个A点吧,A点好这是获取什么,获取获取属性。属性。嗯,属性对应的啊,对应的啊对应的好,因为通常情况下我们在盘中当中啊,就获取的就这两种方案啊,它就OK了啊它就可以了,对好,那这个是我们的插办是一个呃基本的介绍,然后当然了,在这之后啊还有很多大家可以看一下关于附节点啊如何去使用啊,这边都有对应的方法的一些介绍,然后呢,匹配属性啊,匹配属性看艾特服对不对,艾特服啊,然后还有一些文本获取啊,稳本获取,那么大家去看这位的啊稳获取是不是用T对吧?还有属性的获取,属性获取的话,呃,就在后边用艾特服就可以了,对吧?然后属性多次匹配,那如果说它的这个,呃,他就说它这个属性,你看一下它这位的R标签有一个class啊有一个。
14:32
嗯,A标签啊,还有个哈,对吧,那你想在六获取的时候啊,获取的时候想获取的是谁获取到它是它的这个值,我看一下它的方法,它获取的是包含class。啊,就是指的是它这个class里面如果包含R啊,如果包含R啊,那么就可以,因为大家来看一下它这个属性里面是不是有多个字,但我们呃正常呃经常写这个前端的话,我们清楚啊就是写这个class类的时候,一个类里面可以有多个类名,对吧?一个类可以有多个类名拍啊然后呢,一个类名也可以给多个类去使用,对不对,所以这个时候呢,在一个标签当中,这个class里面可以可能包含了多个啊,可能包含了多个,所以这个时候呢,可以用这个方法来进行获取啊,那就包含的意思啊,然后呢,呃,上面还有啊这种多属性的啊获取都属性获取啊,还可以用and啊,它也可以用and这东写了啊,然后下面呢,还有S的一个运算符啊,Or and啊这种啊,什么加减乘除啊这都可以,然后上面这个位置呢,也都有呃对应的这个啊演示啊,大家可以看,然后后面还有一个呃顺序啊,然后续第一个啊怎么做,那插80221。
15:33
啊,因为我们这个plus的插班老师重新开始,然后呢,获取最后一个,你可以用last啊,然后获取前两个怎么办呢?哎,Position啊然后呢括号啊然后呢,呃,这个叫小于什么呀?啊这个叫小于三,那就是前面的两个对吧?然后呢,倒数第三个,那也可以就变成负二,那如果是倒数第一个呢,倒数第一个啊第一个你可以用这个叫什么?呃呃如啊如果这个位置就last的括号,然后减一是什么呢?啊就是最后一个再减一呢,它获取的结果就倒数第二个,所以你减二获取的是第三个啊是这种括法,然后呢之后呢啊这个嗯,网站里面呢,还可以提供咱们插发始用的非常多的函数,比如说呃,存取啊,数值啊,逻辑啊,节点序序列等种方法处理,其实我们可能都用不了那么多啊,大家有兴趣的话呢,呃,可以去看看,那么这里面有节点轴的一个选择和操作,对不对啊来这边还有详细的代码案例和演示,那么有兴趣的小伙伴呢,一定要把这个内容啊给练好,那么我们再来回顾一下我们叉pass啊,就是一个专门啊去通过啊可以解析这个叉L和HL的这么一个文档的啊这么一个方法,那么解析起来啊,简直非常方便,非常方便,那这。
16:34
就是我们开thon做帕啊,非常强大的一个地方啊,就是呃,专门有这样的包来进行这样的一个处理,对不对啊,当然了,这个这个叉plus本身并不是我们开ython发明的,是W3C库啊,W3C啊给它定义的啊,W3C标准定义的啊,我们只是有这个方法啊,能集成这个方法的一个,嗯,使用嘛啊这样的话用起来很方便,很快好了,那么呃,大家呢,学呃学会了我们这个叉pass以后哈,就可以再来考虑一下啊在呃我们第二章节当中留给大家那个作业,就是在这里实现我们当前啊这个王某平我们当前学习原地的一个啊自动登录啊,自动登录啊,之前给大家留了一个这样的作业,对吧?啊,大家可以做一个分析好了,那么本节课的内容就给大家讲讲这么多,好,各位小伙伴啊,课后大家多多做一个练习吧,再见。
我来说两句