00:00
好,同学们,那么接下来啊,我们要讲一下script的pose请求,那其实他这个po请求和我们平时写的写法倒不太一样啊,倒不太一样,好,那接下来呢,我们来试试吧,在这儿我们先创建一个项目啊,先创建一个项目,在这儿来找到这个文件夹。然后我们CD到这个文件夹给它拖过来对吧,好。然后回撤一下就进来了,呃,进来之后,进来之后进来我们干啥?我们要创建一个项目,我当时这个我们使用是啥呢?是不是百度翻译啊各位诶,所以在这儿呢,我们还是用百度翻译,用老的网站来讲新的知识点,百度翻译。找到他。然后在这里边呢,我们在右键检查,如果不出意外的情况下,还记得它是啥吗?是不是suug啊同学们对吧?Sug,然后我不能用sug啊,对吧,我们得用啥随便写一个final好吧,呃,Sug这个接口在哪儿往上找,就是它看是不是我们的这几个值值啊翻译到没问题,那现在同学们来了,那也就是说我的起始UR是它吧。
01:17
但是一会儿你想啊,我们会有问题的啊,好在哪儿,在这儿。在这来scrap,然后这个start。Project。起个名吧,这个叫啥呀?叫test,叫SC下线post下线104好OK了,这玩意儿之后呢,我要创建一个爬虫文件啊,CD到SCP。然后下划线,这叫post,然后SC,然后这spider OK,在这里边呢,我们来创建一个新的这个爬虫文件SCP,然后叫啥呀。
02:05
叫跟spider,然后起个名叫啥叫?Test post啊,为啥不叫post呢?我们怕和某些文件它冲突,某某些关键字冲突,所以我把它粘贴过来走,嗯,好嘞,那现在我们的爬虫文件就已经创建完成了啊,创建完成了,但是这里边儿可能会有让大家很疑惑的一件事情啊,疑哪疑惑呢?是这样的,你这里边儿不应该去查一些值吗?查一些英文单词吗?但你这个在哪儿呢?对吧,所以说还有一个小问题啊,同学们,你的POS的请求不应该携带一些参数吗?那这个参数我们应该在哪写呀?还有还有一件事情,就是你的这个起始URL它生效吗。
03:00
我们先看一下,为啥我问这句话呢?马上我来告诉你,你发现他报错呀,他不生效啊。对吧,为啥他不生效呢?原因是因为它是一个po请求,POS请求必须得干什么。是不是必须得依赖参数才能干啥呀,才能去执行啊,对吧,各位,所以说我们在这儿就不允许干啥,直接去写它的这个参数啊,不允许直接参数这个路径也是不对的啊,也是不对的,所以说那你想起始ul写上。Post请求,如果没有参数,那么这个请求。将没有任何的意义,对吧,将没有任何的意义,然后呢,所以这个start u也咋的也没有用了啊,也没有用了,那他没有用了,我们就导致啥。
04:07
你这个起始ul是不是决定了pass的执行啊?对不各,所以pass方法也没有用了,那你看完了,原来就这几个有用的东西,现在是不是全没用了?所以说各位同学们千万要注意pose请求和起始U和pass没有任何的关系啊,没有任何关系,那它和谁有关呢?注意看def DeFine这里边有个方法叫start request和它有关,在这我们定一个ul,你一定要知道他们的因果关系啊,很多同学很多人都只知道这么写,但不知道为啥,你现在懂了吗?对吧?你在这儿有个URL,紧接着我们是不是应该有参数啊,对吧?这个参数叫啥,看一眼。
05:00
百度翻译是不是叫KW,哎,我们拿了过来KW走,然后呢,给它来个引号,给它也来个引号,OK,那这两个值我们接下来要干啥呢?大家注意,我要发送请求啊,YLD原来我们是不是执行一个script叫啥request呀,大家注意啊,这个request是它的一个get请求,而我们post请求用的是叫form request啊,这是不一样的,那URL等于URL,然后接下来,接下来参数吧,参数叫啥呢?叫form date等于date。那你执行完这个请求,并且携带参了,我是不是得要结果了,对吧?各位,哎,所以在这呢,写一个call back等于self.pass。下划线second。哎,那么这个pass second不没有吗?我们就这么定义一下对吧?诶,为什么我们这么写,一定要大家一定要知道哈,DeFine pass_second然后里边写个response,那这个response同学你们想啊,是不是就执行了这个地址携带了一个参数,而这个response就是它的返回值啊,对吧?各位,所以在这呢,我们就写上一个叫做content等于response.test明白不对,然后在这直接打印一下,看看它是不是我们想要的数据呢?
06:31
对吧,我们得运行一下啊,那现在来运行叫SC啊加啥呀,我们这叫test post都。看结果,大家看有没有数据啊,有,但这个数据咋的了,是不是有一些这个编码问题了,那这编码问题我们该如何去解决呢?咱们同学是不是还得用杰森呢?还记得吗?对吧?哎,Import杰森。
07:02
那么紧接在这要干啥呀?来写上OB勾,等于杰森点路子加上啥呀,Content,然后紧接着我们要干啥呀,是不是有个忽略它的呀,等于utf-8PRINT直接O勾就可以了啊好同学们,那现在我们来再次运行一下走。看有了吧,Final最后的最终的就可以了。所以说大家一定要知道post请求为啥这么写,原因就是因为你这个UR不对呀。它单独的运行不了啊,它运行不了pass方法不就执行不了吗?它执行不了那这俩还有啥用啊,所以说注意啊,Post请求必须得使用start request,这是系统给我们提供的啊,这个SC框架给我们提供的,我们直接用就OK了啊好同学们,以上就是我们啥呀,我们的这个SC的。破碎,求我把视频暂停一下。
我来说两句