00:00
OK,同学们,那么接下来啊,我们来爬一下豆瓣电影啊,豆瓣电影那这个呢,其实我们要讲的大的知识点是啊,Jas的一个get请求啊,一会儿呢,我再给大家解释一下什么叫jas的一个get请求啊呃,同学们在这儿啊,我们这个案例啊,要分两个去讲啊,第一个呢,我们先把这个打开一下啊,叫豆瓣电影。啊,就是他豆瓣电影,那么豆瓣电影我们找啥呢?随便点点啥,假如说点这个排行榜吧,那你们喜欢什么样的一个类型呢?喜欢动作的,喜欢爱情的,喜欢科幻的动画等等,随便啊,我比较喜欢动作电影啊。动作电影在这里边呢,是这样一个数据啊,这样一组数据,我们可以一个劲儿的往下滑,滑之后呢,它就会把这个数据展示在这个页面,对吧,各位诶,这是我们想要的一个一个东西,想要的一个东西,我们这里边啊,这个豆瓣电影我们要分成两个案例来做,第一个我先获取啥呢?首页这个电影。
01:07
啊,首页的抓一下接口是吧,找到首页电影把它这个数据下载下来啊第二个呢,我们要讲的是什么呢?我要把前十页的电影全给他下下来,对吧?诶这是我们想做的。所以在这呢,我们先创建一个新的文件,对吧,重命名一下啊,然后创建一个新的文件,这个文件呢,对我们接下来的知识点做一个描述。啊,做一个描述,然后这是啥呢?是A贾克斯啊会有叫阿贾克斯的哈的get请求啊知啥呢,叫豆瓣电影第一页啊,豆瓣电影第一页,然后下个案例,我们做一个啥,做一个封装,然后呢,要前十页,想要多少页就多少页的啊好走。OK,那接下来啊,同学们注意啊,我们这里边的第一步啊,你先干啥呢?你先抓接口,到底谁才是第一页的数据啊,这是非常非常重要的啊,来点剪击检查,简单work啊,当然呢,在这儿也跟各位同学说一下啊,可能现在在爬虫人员来讲,大部分的情况下,我们都使用Chrome浏览器来抓包。
02:21
啊,但是也有人呢,现在抓包工具啊,不仅仅只有他,还有像这个非非德啊,还有这个青花瓷啊叉S是吧?诶都有很多很多的抓包工具啊,但一般情况下我们可能啊,随便去用啊,你喜欢用哪个都可以哈。好,我们来刷新一下这个页面,刷新大家看到了,哇,这里边儿的东西好多呀,对吧,好多呀,那到底谁才是当前这个请求的接口呢?这句话我解释一下啊,到底是因为这里边儿的哪些个东西才会有当前的这些数据呢?这是我们需要去验证的啊,去找到的,有同学说老师你找第一个看看。
03:05
来找有同学是,但是我告诉大家好像不是,为啥呢,这里边没数据啊,同学们是不是这里边没有任何的数据啊,所以说这个接口应该不对啊,像JS啊这个等等应该都不太对啊,PNG就更不用多说了,这就是一个图是吧?啊不是它再点它呢,这个呢,这个呢,这GS也不是啊,这个呢,好像这些东西都不是点它呢,点它这里边啊,第一个动作是第一个,这个电影什么来着,叫做福尔摩斯二世对吧?呃,福尔摩斯二世确实是他,但是好像只有一个数据啊,那这个呢。啊,这个咱们看到也看不到是啥东西,再点下它,诶同学们我看。这里边儿的数据啊,虽然它长的是杰森啊,这个是因为啥呢?这个接口它给我们返回的就是这个数据。
04:00
明白吧,他没有返回别的,我们来看一下第一个电影,是不是福尔摩斯二世,第二个是什么来着,这个杀手不太冷吧,看一下走,嗯,这个杀手不太冷,好,同学们,那应该就是他了,这一共是20个电影,应该是啊,到到哪儿呢,一直到。看一下,一直到这个杀人回忆,杀人回忆应该在上边吧,杀人回忆啊在这儿了,是不是到这儿了,一共是20个电影,看这里,这不有个角标嘛,对吧,20个电影下边就第二页的电影了啊好,同学们,那么我们就知道了哈,这个接口就是我们想要的,有同学老师他也没返回一个页面啊,同学们注意啊,因为你要知道啊,将来它后端的开发和前端的开发是非常非常复杂的。而我们想要的,我们做爬虫想要的这个数据啊,他就是如果人家给你啥就是啥了,给你杰森就杰森呗,这个给大家多说几句啊,他之所以给你结森数据,是源于他这个项目做的是叫前后端分离啊,如果有同学懂得这个前前端后端开发的,那你应该能听到一点啊,好,那么这个接口啊,就是我们想要的数据了,那干啥呢?我接下来要做的同学们看啊,这是什么请求啊,是get请求,Get请求我们就按get请求的方式来做呗,对吧。
05:26
首先要注意啊,这是一个get请求,然后我们要做的是啥呢?获取豆瓣电影的第一页的数据,并且干啥保存起来。哎,给它变成一个介层文件,给它存储到我们本地,嗯,好同学们,那在这写上啊,Import URL li.request然后对吧,然后紧接着写个ul,等于谁等于它,嗯,等于它,这就是第一页的数据嘛,第一页的接口嘛,来看一下就是它啊来找就复制这个就可以啊,复制这个就可以,这第一页接口get念请求,好同学们,那这个完事之后,接下来写hier呗,找一个。
06:08
嗯,找一个简单的,还有点哎在这的粘贴,那进来干啥呀?同学们是不是请求对象的定制啊,在这会好像同学们呢,你有没有发现我就这几步啊,来回的去写对吧?第一步啊叫啥呢?叫请求对象的定制,请求对象定制咋定制来着,是不是这样啊,Request等于u Li,点小的request,然后点大的request在里边写URL等于ul,然后接下来head等于head,明白吗?各位,哎,叫请求对象定制,那第二步我们要干啥呢?嗯。是不是要获取响应的数据呀,对吧?哎,获取响应的数据啊数据OK,那咋整啊,Response等于URL力点request.url open里边传一个request吧,哎,这获取响应两个数据不就content吗?对吧?Content等于啥?respond.read.decode里边写上啥呀?Utf杠八,嗯,好,我们先打印一下啊,看同学们我们能不能获取着来走你。
07:37
哎,我们发现获没获取着啊,看一下往后走啊,福尔摩斯二世,然后这个杀手博泰冷对吧,这儿呢,然后让雷诺等等等等的到最后是什么来着。一个韩国片儿吧,叫啥?看一眼看一眼。早早早早。过了吗?看一下啊。
08:00
找找找找找。反杀人回忆呀,对不对的,诶,这个数据就有了,那我们接下来要干啥?同学们啊,第三步啊,第三步大点我们要干啥呀,是不是要把这个数据下载到本地呀,对吧,下载到本地大家注意啊,那下载同学们可能会想到ul lab。然后点快点youri吧,那是下载图片啥的哈,而这个我们是不是要下载的数据呀,那也就是说是不是会将这个数据写到哪儿啊。啊,写到我们的本地,那我们学过文件呢,还记得吧,各位这个你看是不是就跟之前的知识点串上了。对吧,大家扣题嘛,FP等于open,那这个文件注意啊,同学们,它如果说给我们返回的是一个接森数据的话啊,这是一个接森字符串啊,那你的保存就应该是一个什么,是不是就应该是一个接森的字符串啊,所以在这里边写上啥呀,写上豆瓣点杰森,然后以啥呢?以W的形式给它写出来吧,然后FP.right来写一个content,明白吗?各位,诶,这是我们之前写的。
09:19
来我们运行一下啊,看会不会给我们数据呢,走嗯,报错了,为啥报错呢?里边为啥没数据呢?大家先看看这个错啊,不着急,来看一下子是不是编码的问题啊,什么GBK呀,什么编码的问题呀,好像不行,得告诉各位啊,之前我给大家讲过,说open方法里边还有个叫incoding的一个问题啊,Encoding啥意思呢?因为里边有中文,所以在这边保存的时候,我要给他一个编码,叫做UTF杠八中文。你得支持中文我才能写呀,对吧,各位,所以在这里边我接下来运行就谋闷赔了啊谋闷赔了,好同学们,现在我来运行一下走你。
10:06
你看还报错吗?是不报错了,那这里边还有数据吗?有了,有同学老师我看着好费劲呢,记住教大家一个快捷键,Ctrl shift加L啊,Ctrl shift加L啊,当然这里边儿我这个快捷键是不是冲突了啊,我有个软件冲突了。OK,大家,但是这里面我们得看看呀。看看美国,然后往后翻翻翻什么李江山呐,等等等等等等等等等等等等等等等,在后边后边找找找找在这了。犯罪嫌疑杀人回忆对不对的,哎,我这就保存好了,但是在这里边呢,跟跟大家多说几句哈,说啥呢?说因为呀,这个open方法默认情况下使用的是GBK的编码对吧?但是我们前边在解码的时候是不是使用U1杠八了啊,如果我们啊要想保存啥汉字或者中文,那么需要在open方法中来指定编码格式为utf杠八,那也就是啥呀,叫做encoding等于utf杠八,同学们记下来吗?啊,千万要注意啊,这是关于杰森的时候我们写的一个小东西,小特点。
11:39
好,呃,再给大家扩展一个小东西啊,就是这句话呀,我们可以用另一种形式来表示。啊,用另一种形式表表示这样,当然你这么写一点问题没有啊,用啥来表示呢?同学们看啊,假如说在这写个with open啊,为为open来写一个豆瓣,一点杰森杰森,然后呢,以W形式来写,然后接下来encoding,等于然后写上utf-8IS FP,哎,写这样的啥叫is FP啊,就把它作为一个FP和它一样相等一样,但这种写法也有啊,然后接下来啥呢?一样的FP.right来写一个content就完事了,听懂了各位,这两种操作完全的一模一样来运行,走你。
12:30
哎,豆瓣一看豆瓣一是不是也是这样的呀,哎,也是这样的啊,所以大家注意啊,这样是都可以的啊,都可以的,OK,同学们,那这就是下载的第一页数据啊,我们主要三步嘛,请求对象定制获取响应数据下载到本地三步,那么下个案例呢,我们要干啥?下载前十页的数据啊,你如果有爱有多少页,有多少有多少页,我全给下载是吧?好同学们,那我把视频暂停一下。
13:00
把这个保存一下,嗯。
我来说两句