00:00
OK,同学们,那么接下来啊,要给大家讲一下第二种我们的解析方式,那么这种解析方式呢,叫做杰森帕,它主要适用于啥呢?就是我们解析一些杰森数据,那其实现在很多网站呢,它的这个返回值呢,都是杰森,那我给大家打开一下啊,不知道各位同学平时看电影的时候这个啊,用什么软件买的票啊,这里边有个淘票票网站啊,淘票网站通过它有的时候我们你看取电影票的时候,是不是都是通过他来做的呀,对吧。我们来点一下network,当我们在这鼠标移入到这个城市这块来点移入它,这有一个啥呢?有个地址,而这个地址会干什么?同学们,它会给我们返回一个接森数据,这个接森数据中大家可以看一下它是包含了什么,包含了全国所有的啥,全国所有的这个能使用淘票票买电影票的这样一个城市,而一会儿呢,我们要干啥,我们就要把这个城市所有的东西都爬取下来,诶而这个呢,我杰森数据我们就要使用啥了,使用杰森pass,那使用杰森pass的时候呢,大家注意啊,我们第一步也是要安装,安装完之后呢,我们再去使用,但是同学们你要知道哈,我们在使用的时候呢,叉pass和它不一样,为啥呢?因为叉P它可以解析本地文件,也可以解析服务器响应的文件,对吧,各位,但是。
01:33
Dis pass,你看一下它的语法规则,它只能解析本地的文件,它解析不了服务器响应的文件,这个还是和叉pass有一些本质性的区别的,那这个需要咱们同学注意啊,OK,在这儿呢,我给大家找了一个小教程,我认为这个写的还不错啊,还不错,来把它打开一下。打开一下,那么大家注意啊,这里边呢,前边的一堆东西我们都不看,我们先观察一下,这为啥不让你看呢?因为你没有必要去记啊,没有必要去记,而我们如果你会插pass,那么你就会接森pass了,大家来看一下啊,在这它有一个语法的对比。
02:16
啊。也就是说叉帕和杰森帕它对应的符号的一个对比,那在这儿呢,如果它是一个斜线,它就用do符来解释,它是个点,它就是at,它是个斜线,然后什么点O,什么中号,就是很多方式都可以去表示,还点点什么na啊,杠杠点点啊,反正就是和叉plus不一样啊,我们不一样是吧?那这个东西我们到底怎么去学习呢?我告诉各位啊,这个语法是你不需要去记的啊,是你不需要去记的,在下边我们小有个小案例啊。这个案例原来这个文本是可以复制的啊,是可以复制,但现在呢,不让我们复制,然后我把它敲下来了啊,敲下来一会儿给大家看,这是一个接森文件,接森的文件就是用大括号来代替的,然后下边呢有个小案例,我们把这个敲一遍,然后再完成淘票票案例就OK了。
03:11
好同学们,现在呀,我在这儿大家可以看一下啊,可以看一下在哪呢?在这里边我们有个资源,有个叫道杰森,哎,就是他start杰森,他是啥呢?就是我们刚给他起个名吧,叫073,他一个杰森文件啊,这叫起个名上硅谷,然后爬虫,然后解析。然后下划线叫杰森帕,诶,他要和我们那个名对上了啊,一会儿再给大家说,然后这咱们自己改一个啊,那么在这里边呢,我们再创建一个新的文件啊,再创一个新的文件,为了啥呢?为了来写这段代码。好啊,杰森帕OK,那么这样能对上大家能找到了哈,那如果说我们要写杰森帕的话,同学们你看第一步你要安装一下接森pass,你不安是用不了的,除了UR lib之外,其他都要安啊,然后我们再次切换到E盘,然后呢,我们CD到Python文件中,再CD到script里边,还记得吧各位,诶在这里边呢,我安装一下,然后叫JA森pass啊,杰森帕走啊,如果说你感觉你那有点慢的话,你是不是可以用国内源呢?但是我知道这个杰森帕斯本身他就不大,所以我没有用国内源。
04:38
好,在这儿呢,我们稍作等待啊,一会我们就可以用了,咋用呢?第一步啊,大家注意你先得是不是得导进来呀,你导进来才能用啊import这有个杰森pass啊,注意同学们啊,如果你不安你是用不了的啊,你不安你是用不了的,那么紧接着啊,大家先观察一下这个杰森啊,这个是啊,我看过的几部小说啊,在死道这个商店里边啊,有书诶有书book,然后把它缩小,缩小一下,还有一个什么呢?Bicycle是一个啥?是一个自行车啊,是一个自行车,那么我把这个自行车打开,诶这个自行车有什么,有一个颜色,还有一个啥呀,还有一个这个价格,对吧,一个颜色一个价格,那在这里边呢,还有书,有书啥书呢?哎,假如说这个类型是吧,修真作者六道,然后抬头或者坏蛋怎样练成的价格八块九毛五对吧,还有这么,呃修啊也是修真啊,打错了啊叫修真。
05:40
然后是天蚕土豆,斗破苍穹等等等,然后还是一样的哈,这几本书,那这几本书之后呢,我想要的是啥呀?我想要的是这里边儿的一些,假如说我要书的名字,我应该怎么办?哎,你要爬取的是这样一种数据,那不知道大家听没听懂哈,金3PASS4是干啥的?好,同学们,那么接下来啊,我们就按照这个案例一点一点来写第一个。
06:07
要做的是啥呢?叫书店所有的书,哎,书店所有的书啊,书店他这个文档有错误啊。嗯,书店所有的书的作者,那这里边呢,大家注意啊,你在写杰森帕斯语句之前,你一定要干啥呀,你要把这个读过来,咋读呢?是杰森,那大家注意啊,你如果想使用杰森,你是不是也得导一下杰森呢?哎,找杰森,那在这写上杰森点load,别写错啊load load之后你要加载的是哪个文件呢?我们open对吧,这个文件的名字是谁是。他点杰森我们来复制一下啊,复制一下,那在这把它拿过来,拿过来就是它,然后呢,紧接着我们要干啥呀,同学们,我们是不是要读取它,然后在这儿呢?还有一个叫encoding等于啥utf-8OK吧,各位utl杠八,那在这在我们写杰森帕之前,我先打印一下,看有没有错误,那看有没有错误,来我来运行一下走嗯,发现同学们是不是没有任何的错误啊对吧,各位好,那接下来啊,我们就来写一写这个杰森帕,杰森帕咋做呢?第一个我要的是书的作者,那么注意啊,同学们,这个作者叫author呗,对吧,Author小线list,它等于啥呢?等于一个第一个啊叫做杰森帕的语法,点杰森帕第一个传一个对象,你不把这个这本书这个杰森文件拿过来了吗?
07:52
啊,而第二个要写的是啥呀,是杰森的语法啊,杰森帕法,我们看一下这里边啊,要的是谁,是作者,是不是死到下边的书的作者呀。
08:06
对吧,各位,所以说他杰森pass的语法是啥,Dollar符代表的是杠吧,我们上面有啊。对吧,哎,代表盖根元素嘛,盖到乐福,也就是说它的下边的书店不是商店,商店下边的所有的书新人代表所有所有的书的作者,对吧,各位,哎,这就是我们想要的,记住啊,是所有书店的作者。那为啥没有写这个,呃,这个bicycle,万一bicycle作者呢?所以在这里边写的是所有的书的作者,所以这边写上。大写。第一个是Dollar数根元素啊,它下边的啥是不是叫store对吧?到下边的什么是不是book,但是book里边的第一本书啊,哎,是啥星代表所有的书的什么the author啊the author,好,同学们我们来打印一下啊,Author list来看一下结果走。
09:08
嗯,大家拿不到,拿到没拿到啊,是不是拿到了,所以这个还算比较简单吧,哎,一点点来他的谁的下边的谁,那有同学老师啊,那我能不能拿到第一本书啊,对吧,第一本书不就是下标零吗?来看是不是六道,哎,第二本书呢。是谁是这个天蚕土豆吧,对吧,各位,哎,所以说在这里边儿呢,我们是可以通过下标来获取到我们第几本书的啊,第一本书的。好,这是我们第一个练习,那么紧接着我们再看一下第二个练习是啥呢?是所有的作者,大家注意啊,有的人老师你这个和上个不一样吗?那我告诉各位啊,不一样,为啥不一样呢?因为上边这是书的作者,那下边如果很不幸bicycle也有作者的话,那你是不是就获取不着了呀?在这里边咋写呢?还是给他注释一下啊。
10:06
嗯,注释一下,虽然它俩结果都一样,但需求是不一样的啊,Author象限list等于Jason pass.jason pass还是第一个是对象,第二个就是啥呀?就是我们的这个JA森pass语句在这里边咋写呢?是它点点answer。点点就相当于我们的什么,我们的杠杠。啊,点点就相当于我们的杠杠author,嗯,好,同学们,我们再来打印一下啊author list啊author list,那么紧接着现在我们来运行一下它走,嗯,是不是还是获取到了呀,对吧,当然呢,如果说这里边儿还有一个谁呀,嗯,就是它。还有作者,作者写一个谁呢?写一个这个老马。对吧?老马,那我们现在再来看一眼,除了书之外,是不是所有的作者都拿到了呀?OK吧,各位也用点点,好同学们,那么紧接着呀,我要干啥呢?我看下边说store的所有元素,所有的book和bicycle,那其实这个里边啊,就是要所有的元素呗,死道下边的所有元素吧,来写上,要的是死道下面的所有的元素啊,到下面所有的元素,那就来写呗,写个A_list啊TG吧,TG啊TG它的list等于啥呢?杰森帕点杰森帕还是OB勾,那么这里边应该写啥呀?它下边的所有,同学们注意,是不是也可以用星来代替呀,到下边的所有,那写上到符点到点什么?
11:56
所有,那这样的话,我们就能要到它里边所有的东西了吧,OK,同学们我们来运行一下走嗯,你看是不是所到下边所有东西就拿到了呀,啊要的所有的标签大家注意啊,这个以后用的会多一些,谁下边的所有,谁下边的所有好同学们我们再看哈,说这个叫啥呀。
12:18
Store里边所有的钱。啊,死到里边所有的钱,我把它复制过来。那么这个价格啊和啥呢?和之前有点小类似啊,小类啥叫道下边所有的东西的钱呢?是不是包含了书,也包含了自行车啊,对吧?所以在这里边写上price下线例子等于JA森pass.ja森pass来传一个OB勾,然后我们再来写一下它的路径是点点pro到下边的Dollar符,点点啊Dollar符的。下边的啥呀,Price是不是它杠杠price啊啊就像点点一样啊,点price一样来list,那要注意啊,OK,我们来运行一下走嗯,你看是不是四个钱五个钱,12345全拿到了四本书加上一个自行车啊,就是他下边的所有的钱啊,他下边所有的钱,好,那你同学老师我加一个点行吗。
13:26
走可以吗?不可以,为啥不可以呢?我说了他就相当于杠一样,原因是因为啥你这个道下边哪有钱呢?是死道下边的书和bicycle是有钱的,对吧?各位啊,千万要注意啊,好,接下来我们再看第三本书。啊,第三个书,那也就是说前面有些东西是不要的,对吧,那我们还是用啥呢?用下标来替代它啊第三个书,那么这个里边我们就来book,等于杰森帕点,杰森帕里边传一个OB勾,然后再来一个啥啊招福点点代表啥呢?
14:09
嗯,代表下边所有吧,然后我们要书book第几本呢?第三本下边为几为二吧,来print来解一个book,我们来看一眼,走,嗯,是不是第三本书啊,唐,唐家三少,然后斗罗大陆,我们看一下唐家三少斗罗大陆对不对?哎,这样就OK了,所以说它完全符合我们的一些编程思维啊,还算比较简单一点,还有啥呢,叫最后一本书。那下标最后一本书,这个应该咋写呀,我们知道他是下标为三啊,但是如果说以后书要多了呢,你还得查吗?哎,这又是一种写法,叫最后一本书,那么book等于杰森帕点杰森帕,那在这里边我们来写啥呢?第一个是OB勾,第二个还是我们杰森帕语法最后一本书,大家注意啊,这个的写法和之前不一样,我们用的是叫at,这里边圆括号啊,at.lengths这个能代表的是啥呢?是它的一个长度,它的长度减一,是不是最后一个下标啊,同学们对吧?哎,千万要知道啊。
15:23
那么我们来啥Dollar符点点book哪一本书啊,这是一堆书对吧?哪本书啊,加一个圆括号叫at啥?点LS减一是不是最后一个下标,我们再来print一下book,我们看一下是不是最后一本书,也就是这个南派三叔星辰变看一下。南派三叔星辰变对吧?各位,哎,这样就可以了,所以说大家注意啊,这种写法还是比较智能的啊,不是特别的难,OK,同学们,那么紧接着我们再看一个啊,再看一个说啥呢?说前两本书,诶这个还有点意思,啥叫前两本书啊,就是第一本和第二本呗,对吧?那第一本第二本我们起个名叫book list,等于杰森pass,点杰森pass还是OB勾,前两本书我们怎么说呢?我们可以用下标啊,用谁呢?零和一,我们可以用啥呢?这种类似切片的方式,同学们注意啊,我们之前是不是学过切片呢?类似切片的方式来实现前两本书的这样一个操作,那么现在我们来写上,写啥呀,Dollar符点点book。
16:40
中号写上零逗号一,那这前两本书吧,来我们打印一下book list来运行它走你发现哎,前两本这个一个坏蛋一个啥来着,这个斗破苍穹对吧?OK,还有一种方式就是啥呢?大家注意啊,给他注释一下。
17:00
嗯,在这里边写一个冒号集,冒号二啊,冒二我们再看一下走,嗯,是不是还是两本啊,坏蛋怎样练成的,斗破苍穹就OK了,你看大家注意,这是不是都不难呢?哎,都不是很难哈,一会儿呢,我们来做一个小案例,大家一下就会了这个东西。好,那么紧接着这个结束之后啊,我们再来干啥呀,我们再来看一个这个条件的,假如说过滤出所有包含这个什么叫版本号的一个啥呢?这个书我们来看一下吧,来看一下谁呢,哪本书有啊,哎,在这儿了,一个是他,一个是他,也就是说唐家三少,也就是斗罗大陆和星辰变这两个是有的,对吧?哎,所以在这儿呢,我们写一个把它拿过来。在这我们来写一条注释啊,过滤出所有包含版本号的书,那么就是book下限list等于杰森pass,点杰森OB勾,然后再来一个叫Dollar符点点book,那它有啥约束来着?有啥约束来着?
18:15
啊,是不是有一个叫at.ISBN呢,对吧,我们再来打印一下它print book list,我们来运行一下走,嗯,诶false,那这里边我们模仿这个里边写的呀,它都一样啊,不也是一个条件吗?大家注意啊,你这个圆框加或者不加,或者怎么加,要有一个区别,它这里边是看你有或者没有,所以说同学们千万要注意的是这种条件过滤。条件过滤需要在圆括号的前面添加一个问号啊,这是一个格式啊,是是到底有没有啊,对吧?诶,它是这样一种思维,到底有没有啊,我们来看走嗯,看是不是斗罗大陆和星辰变的。
19:10
啊,对吧,各位这样就可以了,那我们再过再看一下,看啥呢?说哪本书啊,它超过了十块钱,是不是斗破苍穹和星辰变对吧,哪本书超过了十块钱。哪本书超过了十块钱?好,那么还是这个条件,那这个条件就可以了,是吧?来找啥呢?来这个呃,Book_list等于JA森pass.ja森pass里边传个OB勾,紧接着我们又来了啊,Dollar福点点book book里边有个啥呢?有个问号,这是条件啊,然后必须写上谁呀,叫艾什么点price咋的,它是不是要大于谁十块钱对吧?哎,这是我们根据上一个案例,根据他哎写的这样一个判断条件,我们看走,嗯。
20:13
是不是斗破苍穹他12块钱,然后星辰变是20多块钱啊,对吧?诶这个就是啥呀,同学们这就杰森杰森pass看着是不是不是很难呢?对吧?诶各位了,我说了你理解一下了解就可以,然后呢,我们就能写代码了,这个并不是很复杂啊好同学们,我把这个视频暂停一下。
我来说两句