00:00
好了,各位小伙伴,那个上节课呢,这个中间有一个有一点打断了哈,因为这个这边有点着急的事情要处理一下,好,那呃,关于这个页面解数据的一个解析,给大家继续来看一下哈,呃,我们用1.smr去解析我们当前的内容,那么剩下的呢,就是从这个文档当中提取我们讲的数据,那么其实我们可以看一下这个页面当中提取数据,其实还是非常简单so easy的啊来啊,随便哪个位置啊都行,来这个位置哈,呃,我们选择检查来找一下我们当前的这个页面数据都在哪个位置哈,来看一下,首先第一个就是我们当前的这个索引,索引在哪个位置呢?来看一下哈,它在当前页面中这个。D下边有个em对不对,有个em标签,Em标签是不是就是我们当前想要的内容对不对啊em,而且它的class是没有内容的,Class是没有内容,那这个就是当前索引啊,所以这个时候什么呢?来解析数据啊,来看一下,呃,我们下面呢是。哎呀,这样吧,我们先找到看一下。Div div。这个院中div好多啊,那我们直接找div也不太好使啊,我看一下啊,Div有没有什么特点啊。有没有,哦哦,这个位置看item啊,然后下一个是不是也在那啊,OK了啊,也就是说它每一个数据都放在了div,然后class等于item这个呃,这个页面里边,所以呢,我们在这里边怎么办呢?IEMS等于我们当前的这个叫H2点上这个叫呃叉pass,然后呢,调用我们的一个方法啊,然后呢是斜杠,斜杠div,就是从页面中我找到div,然后特别是它的这个叫at class,呃等于这个叫啊等于这个叫IM的IDM的啊找到这样的元素,那么接下来看,因为这样的话会找到页面中所有对不对,找到所有的话呢,我们去啊这个叫什么?呃,封装这个叫便利封装,便利封装数据,封装数据数据并封装数据并返回,返回怎么返回呢?For啊for我们的item,然后呢,In,我们当前的这个叫it it。
01:41
Its行,我上面写错了啊来CTRLC复制一下修改一下啊来,然后呢,呃,在这个位置,嗯,他给我报了个红是什么东西。我哪里写错了吗?开什么玩笑啊,来这位呢,剩下的话怎么办呢?哎,我们在这个位置呢,要封装一个数据,诶封装一个数据出来,这个数据里边呢,是有index。
02:02
是有这样的一个呀,我先我先拿个编辑接触一下,好来看这个位置啊,有个in DX就是它当年的一个索引,索引号是谁呢?索引号是IM,创建这个元素它的一个它PA,然后找到斜杠,斜杠它下边的什么呢?它下边有一个I,下边有一个div下边的对不对?所以这个位置下边div,然后下边的em,然后呢,是找到这个em里边的。Em里边它class为空是吧?那我们可以可以再写一下啊,呃,这个位置来一个class等于空,Sorry,是艾佛啊艾艾等于空,那么等于空找到呃,找到这个em class等于空以后呢,我们要获取它的文本,获取文本的话就是后边就是斜杠T符号就完事了,对不对?然后呢,呃,这位置行不行呢?行不行,可以可以,但是他的话获取的结果有可能是我看下啊em me还有没还没有没有多的,没别的。没有应该就没问题了啊。我们可以打印一下好吧啊,打印一下这样这样这样来把这个先注释掉啊,注释掉的话,我们打印一下这个内容来CTRLC复制啊,在这个位置来print p加P,我们得测试一下啊,别就是大家别像我写代码的时候不太测试啊,就是各位小伙伴在写的时候一定要多测试好,没有问题,看这一二三四五六七八九十二十五是不是都有啊,由于我们学生多次,所以这个地方有多次啊,不用管它,然后这个位置就正确了哈,正确诶诶诶。
03:21
等会等会等会,我感觉好像哪里隐隐有感觉有点不对,我好像删多了,删错位置了,来运行右键运行我们的脚本,走你走你。可以啊,可以。啊,呃,可是为什么里边的结果全都是列表呢?为什么都获取了这么多呢?看一下获取了这么多哦,由于我们这个程序运行的也比较多,诶,但是我总感觉有点不太对劲呢,行行行,我们先那个先往下走啊看一下,反正刚才数据获取的是没问题的啊,来这个干掉了没有问题的话,这是当前的一个数据啊,一个数据完事以后呢,来继续第二个。
04:01
啊,就是我们要获取这个1IMAGE子IMG,呃,Ima吧ma,然后等于it点上叉PAPH,然后括号,然后呢,找到它的图片,它的图片其实应该也是非常好找的,就是一妹子嘛,它这个里边不太可能有其他一妹子了哈,来右键总体看这是不是就是这个刚才那个item下面标签找到那个妹子,然后找到它的SS属性就可以了,我们需要这个书变啊,所以这位置呢,是斜杠斜杠它的银妹子啊,就是在嗯,斜杠斜杠银妹子。点吧,点杠。应该是在当前这个味道,斜杠斜杠不行了。我说怎么每次都这么多,来写吧写吧啊,然后一妹子,然后中国号他的艾特佛叫做。看一下这不有符号啊,有个外widt等于一个100,等于100,有双引号吗?有有双引号啊,等于个100有引号啊,引引号的就就是你尽量这个加上,然后剩下的话获取它的src属性,完事了,完事,这是图片,图片完成以后是标题。标题的话是IM减上叉括号,看一下标题是在哪来,右键走,你看这。
05:06
讲这么多。它有三个吗?我们获取一个就行了。我们我们就获取这个它它它可能有有很多个名字啊,我们就获取一个就行了,获取这个位置就可以了,所以这个位置呢,应该写上啊,这个叫点啊,这个叫点杠杠,然后呢,叫做SPA标签,然刚才是一个SPA标签,然后呃,中国号里边的艾for class c等于它当前的一个叫做叫什么呢?叫做title是吧。括号啊,然后下边的话获取它的文本T啊,这这是标题,标题完事以后还有什么。还有谁?还有主演吗?哎,我们还要什么?还要主演吗?其他信息我觉得我不太想获取了,差不多就这些内容了。我就想要这个信息。其他的我不太想要了,这些信息我我其实。不太想回去。
06:00
啊,获取一个吧,获取一下这个基本介绍,他这边不有介绍吗?把这个介绍信息啊,这在这这个位置看看介绍信息给他获取了是吧?介绍信息获取,然后还有什么东西。呃。还有啥,我看看这个页面中还有哪些是我们可以哦,多少人评价是吧,只是有个评价人数吧。评价人数吗?啊,分数和豆瓣的分是吧?啊这个我们得获取吧,啊豆瓣的分,那好了,那就是获取豆瓣的分和刚才那个P班上的一个介绍,那就直接加两个吧,再加两个就是一个是呃,这个这个这个介绍介绍的话叫act to,然后问号。Itit,然后点上叉pass括号,然后点上啊点杠杠,点杠杠它里边的P标签,然后刚才是一个P标签里边是个是个什么四个class等于空啊,所以艾特pro class等于空,等于空就行了,对吧?然后这样的话获取它这里边的文本派括号啊,这样的话这个数据获取,然后呢,接下来继续下边的数据,还有一个就是这个啊,这个当前的分数是吧,分数的话也是找到这个位置啊,找到这个位置的话就是分数score磁杠。
07:07
SCOC。啊,此号此号分数it,然后点上叉括号,点杠杠SPA标签,然后中呃是SPASPA标签中号,这里边有一个class这个参数是吧?来CTRLC复制。啊,叫做艾特福。等于。这个数据好这个数据,然后呢,拿到这个数据以后呢,再去找它的文本就可以了,所以这个位置写杠print括号OK,这样的话,这个基本的数据就就获取到了啊,然后呢,我们print打印一下print print打印一下我们当前的RS结果来右键运行时你看它。来看这呀,获取的有点多是吧,一二三四五二十五,为什么这个也是1234。到50到60到100到150。啊,还在爬还在爬啊,先停先停先停对没有问题啊,其实是没问题,就是每每个页面它不都停顿了吗?停顿完以后是不是都返回了啊好OK了,好,这样的话就是这个面中只需要把这个数据给到了吗?啊给他返回掉就可以了,返回区的话,我们这个位置啊呃,其实是这样的,我们这里边这个方方法里边不是直接那个把这个内容返回来嘛,我们其实没必要直接re return,所以这个位置你可以用ERY,然后呢,返回IM这个呃,反sorry,返回RS哈,这个ER的关键字啊,就是等于把我们这个pass,这个叫pass配置,这个方法呢,直接转成了我们的一个叫生成器,这样的话你调一次它就执行一次,调一次就执行一次,好这样的话就是方便于什么呢?我们这个位置啊,因为你这个页面是不是,呃,可能有很多次请求啊,所以我们这个位置呢,就可以直接后循环for I itm,然后呢,In,我们当前的一个叫做HTML。
08:44
诶,不对。循环,我们当前的这个循环解析就可以了,就是把我们当前的这个叫什么H2,我看一下HTML循环进去。嗯。循环进取。
09:01
循环进去可以吗?我们需要循环吗?这个位置的话就是解析页面数据,刚才写的就是解析页面数据,当你去发请求回来以后,把这个结果页面的数据给我,页面的数据给我以后呢,就到了当前这个位置,这个位置呢去调这个调的方法把A4二传进去。那其实我们不需要。哦,可以。然后我们解析的不就是它的返回的那个结果吗?他返回的结果的话,我们进对他进行处理啊,没问题啊,他返回结果的话,就是每次给我返回一个数据,返回一个数据之后呢,返回数据我就开始往里写,写的话就是调用这个话就OK了,来这里我们需要的是写入数据的时候用这个方法,所以这个位呢来这里去写。OK。走了。诶诶,好了,来看一下。好,写入数据啊,写入数据就走到我们最后这个位置啊,这个位置非常简单,就是你给我的数据,然后我帮你干什么往里写,而且是最佳往里写就可以了啊,就这么简单,所以这个地方写入的话就是位open,呃,Wi,位open括号找到一个,那个叫数据文件,比如说点杠,我们叫它res,叫做go瓣,点J什么解N好吧,然后呢,接下来用A的模式,然后往里追加写,追加写的话,字部集全部给我enco。
10:07
叫什么Co including,全部设置为UT-八,全部设置为U点杠八,然后呢,FFP冒号。那么之后呢,FP点往里写入,FP点外写入,写入的时候呢,用我们的JA省把我们的item解析一下Du,呃,这个叫Du,接省点dups dups,然后把我们的I解析一下,当然上面你得导入我们当年的it啊,所以这个位置再导一个包叫I p rt。接son来。写进去啊,写进去,然后还有问题吗?应该没有了。我们看看。这样的话应该就没问题了,来右键中银。测试一下,测试一下。但不排除我们爬了两次以后,这个请求就会被挂住,就是你请求不回来了,多买点电视你就回来了吗?这么快吗?哎,我原来不是还是在输出吗。
11:01
这个怎么没有在输出啊。来停一下,停一下,停一下。听一下啊,我们看一看这个数据有没有哈,来多瓣其实有没有数据,有有了小伙伴们有了数据哈来从这边打开吧。后的就是。来有数据了啊,有数据没问题,有数据,但是我感觉数据怎么这么乱呢。我刚才指定的是字集写入,你看就是我们用阶层处理的时候,这个字符集入的时候,我的妈呀,他会把我们中文进行一个解析,这样的话我们自己看的时候不太方便啊,特别是这样的数据,那么这个时候怎么办呢?我们可以在解析我们当前的这个叫做。呃,当前的这个叫JA点大时大的时的呃时候呢,让他给的再加另外一个参数叫en,呃,En这个叫S码,等于fo fac,就是默认它是按照我们的,就是呃序列化的时候,它默认按照S格码的方式进行的,这个叫做解析,但是这个时候我们要去掉它啊,要去掉它这样的话就不让它加解析啊,同时的话呢,我们这个位置解析完以后呢,我在FP点就是每一个换一行,所以这个位置呢,再输入,再输入一个叫杠N导的换行。
12:01
好了,我们重新把这个看一下。是不是来?Print print啊这个是正在正在解析解析页面页面这个解析U2,然后冒号我们画括号。花花括号,诶,Sorry,我看一下我能看到程序啊执行,要不然什么都看不到,感觉心里慌慌的,对不对啊,然后呢,后面呢,是正在写入数据是吧?啊写入数据。啊,这个是写入数据,写入数据正在。正在写入数据,正在写入数据啊,数据数据的话,我们。呀,数据我们写完了,写这个item中国号里边的,呃,把这个电影名写出来,把电影名的话是我们的那个叫做title title,哎这样的话写进去,我看还有没有问题呢,没有了,嗯没有了,来我们这个时候呢,把我们之前这个这个这个阶层啊,这个阶层给它删掉,来重新运行一下右键。中你。写出去好了。哎呀,数据还是。
13:01
还是解析的有问题啊,解析的格式有问题。嗯。还是解析的格式有问题啊。大家可以看到每次他这个数据啊,每一每一次这个都爬完以后,诶,忽然间就停顿了一下,对吧,爬完以后就忽然间停顿了一下啊,也就是因为我们中间停了两秒是吧,来看一看数据量对不对吧,豆瓣。看这里边。哦,没有问题,后边是有其他文字,你看了吗?没有问题,就是它还有别的文字,除了我们的这个这个重文外,还有其他文字,所以没有问题啊,来往后看是不是250条,诶怎么275条。什么275条呢,大家注意看一下,从一开始的啊,从一开始的应该就到二百五才对啊。1234。哎,中间有重复的数据对不对,会说吗?前面这个25怎么重复了。
14:00
同学们看一下看一下,看一下哪里有问题啊,多爬了一页数据,多爬了25条数据,所以最后变成了275啊,275多爬了一条数据啊,多爬了一页是谁的,我看一下啊,看看我们这个程序哪里有问题,怎么在哪里多爬诶。哦。是这个位置,是这个位置,是这个位置,这个位置你从零开始爬,你不是上来就先爬了零一的数据嘛,对不对,所以把它清掉,重新走右键。大家注意看啊,我这个页面呢一共十,就是盘取的这个豆瓣这个页面呢,一共十页,十页的话,每每爬完一次休息两秒,每排完一次休息两秒,也就是说十页的话,呃,如果请求两秒再加休息两秒的话,就是假设请求一秒钟,然后呢,写入点一秒,就每一次一页一页的处理是一秒,然后呢,中间休息两秒的话,就是每页三秒,也就是说我这个至少要30,要要多个。十十个30秒,然后来完成对不对,所以虽然速度挺快的,但是你想想你数据量如果更大的时候怎么办,对不对,所以呢,大家去改,想想如何把我们这个程序改成多线程来执行。
15:01
好了,现在大家看一下啊,250条数据正好正好啊250条OK,那这样的话,我们关于这个排中基金排取豆瓣电影的这个程序呢,就给大家写那么多,然后呢,给大家留一个扩展作业啊,扩展作业啊扩展作业作业就是把程序,程序就是使啊,就是完成一个完成一个使用线程词,线程词完成一个使用多线程,多线程的跨重程序,跨重程序啊跨重程序就OK了,那这样的话,这个内容呢,就作为我们啊最后的啊这个阶段的一个啊主要内容了,那后面的话,在大家如果需要再学习的时候呢,可能还需要学的就是呃,比如说跟我们这个叫框架相关的啊,框架相关的话就是呃,可能后以后的话还有一个快递框架啊,是需要大家学的,然后还有一个叫呃的啊,然后基本上就是这两个框架,呃,可能各位小伙伴呢,还需要再学习一下,就是在这个课程里边,我就不给大家去介绍了,由于时间原因哈,因为我这一次录这个课程的话,其实时间还是蛮紧的啊,蛮紧张对,那我是专门抽了一些时间,然后呢,专门的去录制这套课程啊,希望能够给广大的这个学习爱好者呢,带来一些学习的机会哈,对好了,呃,如果。
16:01
这个课程内容呢,我就暂时给大家讲解这么多,如果在学习的过程中大家有问题的话呢,欢迎大家这个找到我们去原地,然后呢在学原地里面积极的进行讨论和呃回复,好吧,当然了,如果你觉得课程不错的话,也希望各位小伙伴呢能给个好评对不对,然后也帮着宣传给你更多的啊,喜欢编程喜欢趴中开发的啊好朋友们好了,那这样的话,这个这节课程内容就到这里了哈,我们整体课程内容啊就到这里结束了,好各位小伙伴们,祝大家学习愉快。
我来说两句