00:00
我们回家上节课啊,上节课讲的是这个叉pass,叉pass呢就是路径把这个树上的位置给他找到,诶第几个叉底下的第几个分支,找到这具体的位置,就可以找到节点和节点里面的文本啊属性这些东西了,除了用树上的相对位置来说,有没有什么其他的方法呢?我代码拿过来,然后粘上去跑一遍,找的是什么呢?找的是P。现在找了几个P呢?找到了3个P是吧?找到3个P,哪3个P呢?哎,这是第一个P,这是第二个P,这是第三个P。这个NL是个什么呢?这个NL是个列表,那么我可以通过索引的方式去找到这个列表,对不对?找到这个列表,找到这个具体的值,这个是什么?If对应什么呢?这边也是if是吧?这边也是if,那这种方式其实是找到所有的P在在列表,根据索引去得到相应的这个if这个东西。那我想叉S里头就出来一个P行不行呢?
01:00
可以啊,右键它,然后呢,我们检查元素,检查了之后呢,我们找到什么呀,找到这个P,找到这个P之后,复制它的什么呢?复制它的叉pass。把这个叉pass复制出来之后,然后在这儿呢,把这个。原来的叉plus删除掉,然后把新的叉plus粘上去,其实又多了一个什么呀,在原来的P的基础上多了一个1,这个1是什么意思呢?就是第一个P,第一个P,第一个P是谁呢?第一个P是这个。CC0CC,也就是说那这个NL的它第0个元素的是谁呀?这不就是一服吗?是吧,这衣服那问题呢,就是,呃,如果列表索引的方式它是从0开始索引,那为什么叉pass从一开始索引呢?其实就是来源不一样,我们列表的索引呢,是从Python来的,Python从C来的,C从汇编来的,那汇编其实为什么从0开始,第0个就是。
02:00
最开始的位置嘛,然后再加一个偏移量,再加一个偏移量,加一个偏移量,第第0个它没有偏移量,所以从零开始。那人类的这个视角呢,就是书籍,书籍从一开始我们数数,没有从属林开始的,总是从一开始,从一开始,然后呢,所以它导致书籍呀,还有SGML啊,还有叉,ML和叉都是从一开始的,也就是说一个是机器从零开始的视角,一个是人类从一开始数的视角,他们两个起源就不一样,所所以现在就不一样。所以呢,这个列表里面这个东西叫索引,而。叉里面这个东西叫什么呢?叫谓词谓语的,谓predictdic。Predictdicate, 主语subject,谓语,Predictdicate, 宾语,Object. 那如何理解谓词呢?说白了谓词就是形容一下这个东西的,哎,那这个前面呢,是它的主体,那后面呢,就是对这个主体在进行某些筛选,比如说哎,任意层级下的A,对A呢进行一个筛选,什么筛选呢?H re EF属性是N,任x.org的就给筛选出来。
03:13
叉P是任意层级下的任意元素,然后它整个进行了一个深度优先的迭代,任意层级下有任意属性的元素还剩什么呀,两个A,只有A有属性,那我简化一点儿吧,既然你所有的这个。都是A,那我任意层级下的A啊,任意层也可以找到两个A元素,对吧,是哪两个A呢,我们就。观察一下,观察一下A标签,这个是文本,然后这个是一个属性,这个属性是个什么呢?是个字典,那我就想筛出一个来,怎么办呢?那就不能直接筛这个东西,我筛什么呀?NL是任意层级下有h ref属性,Ref属性它等于什么呢?它等于这个超链的这么一个A看诶。
04:05
那这个时候我们得到它之后,再把它变历一次,是不是就只有这个or RG了,为什么呀?因为它这个A的属性是org的,就对应org,那个是对应点。Com, 所以是不一样的,对吧。这个是按照什么筛呢?这是按照属性筛,属性筛还可以按什么方式筛吗?按照位位置筛跟刚才那个第几个P是一样的,我要任意层级下的第一个A,那org是第一个A,所以反过来了。它对应什么呢?它对应position=1。就是位置是一这么一个事儿,找到这个就是第一个P是吧,第一个P这种叉plus从一开始呢,筛的是位置。这个是山,是什么呢?Last找到是最后一个P。哎拉,最后一批。那这个是什么呢?这个是倒数第二个P,倒数倒数第一个p last last, 减一就倒数第二,那我想晒什么呀?我想晒前两个P。
05:02
前两个P,那怎么杀呀。他们的position怎么样小于等于2。小于等于2,等于1的时候没问题,哎,等于2的时候也没问题,第一个第二个,这不是前俩吗。那我想要后俩怎么办呀?那我的position是什么呢?大于什么东西呢?大于Last啊,大于等于last就是最后一个大于等于last-1就是后两个既按位置筛又按属性筛任意层级下的第一个A,并且这个A呢,还有HR属性对吧,HN属性。那什么是叉S呢?叉Pass就像一层层的漏勺,一层控制一次,反正是来筛出这些东西来,通过位置啊,通过属性啊,通过文本啊,各种各样的方式再筛,最后筛到我们想要的东西。筛到我们想要的东西可以用什么方式呢?按位置,按标签儿,按这个树上的关系,按具体的文本,哎,甚至可以怎么样有逻辑关系,也就是说这个叉plus是非常有趣的这么一个。
06:07
呃,节点筛选的方式,呃。那具体这个语法是什么样的,能不能练习一下呢?我们下次再说哦,Ez加枪。
我来说两句