00:00
哈喽,各位小伙伴啊,欢迎大家来到学习地,在前面两节课当中呢,啊,我们已经给大家介绍了我们查马的一个基本使用啊,也给大家留下了一些文档,那么大家呢啊,可以去啊再去多做一些练习啊,其实因为基本上我们使用叉plus的话就是啊,或者说我们使用数据获取的时候,我们通常情况下只是获取文本和它对应的那个属性这两个就足够了啊,所以它用起来非常方便啊,然后呢,接下来呃,我们去看一下我们在嗯前面的章节当中啊,给大家留下的那个作业,就是什么作业呢?就是我们去用我们的Python啊来实现我们学习园地的一个自动登录啊,就是在这个页面对吧?然后呢,这个位置呢,有一个自动啊能够这个叫什么提交数据啊,提交数据我们来看一下这个页面。取完以后我们来检查它的源代码。啊,然后呢,CTRLF搜一下这个叫下片to kn,大家可以看到我们当前这个位置是不是有个对吧,每一次啊,每一次在登录页面的时候,都需要记入这个ton啊这个值呢,你获取不到的话,你是没法提交的,对吧?另外的话,我们也可以看到每次来在这个地方。点击灯,我们分析一下这个啊,这个作业应该怎么去完成来进行检查,好下面这个叫呃,打开我们的network。
01:07
好,然后呢,我们去。嗯,不用他登我了,好,然后加这位档啊,点击我们的log,然后让他去记录一下这两行这这位档,点击登录啊,点击登录之后他就进行跳转了,对吧,那就登录成功啊,那们注意看,我们往回走,找到我们登录这个,那么在我们提交登录的时候呢,我们发送了一个POS请求,对对,它返回一个302302是那个叫啊叫叫叫找叫找重新下啊对,那这个位置是我们的呃,地址和一个请求数据,那么那接下来我们提交的数据,大家看ton name和sorry,也就是正常来讲,如果我能把这三句三个数据给你,那么我们是不是就完成登录了,对不对啊,所以就可以完成登网啊,所以大家一定要分析清楚我们如何去实现我们当前网站登录,但是在这之前我们需要在登录这个数据啊,提到这个用POS提交数据之前,我们得先。呃,怎么办?先拿到我们一开始那个页面啊,就我们这个loging页面啊,来这位答案你看一下啊,得先到这个log页面里边来获取到我们刚才所说的那个token啊,以及在这个页面中呢,这个token并不是说直接设置上就完事了,它这里面呢,还在还还在给你的这个叫是吧,浏览器设置一个cookie内容,我们可以看一下来拉到后面看有没有啊。
02:11
呃,有没有log的信息。这样我把它清空一下,清空一下来刷新。刷新啊,然后呢,放到这个位置啊,来大家注意看啊,Response里面是不是在设置给,设置不给啊对,也就是说你一开始请求这个页面的时候就在设置给,所以这个时候我们要怎么做呢?我们要呃编辑啊,就是用我们的爬除程序呢,来完成它一个登录哈,来带大家去做一下这个操作哈,来我们这里呢,写一下第三个版本。嗯,来第三个啊,叫插实战,实战的数据实战这个登录。段公路。啊,登录数据,呃,实战。啊,最小的适当啊,我们这反正因为我们做的是登录对吧?啊,我就这么写啊,然后接下来我们来分析一下这个网站啊首先第一步啊,第一步我们干什么呢?要访问啊get请求get叫get啊啊请求啊请求我们的这个叫log啊login命令啊然后呢,要干什么呢?这里边的要获取啊获取对应的啊叫叫什么设置,第一个叫设置Co啊PI,然后第二个呢,还要获取这个叫下划线to啊下划线调。
03:22
下关讨啊这两个信息啊,然后呢,完成它以后第二步啊,第二步我们就可以做什么啊,第二步第二步我们就可以啊post啊请求请求了啊就可以发posts,请这个posts请求干嘛呢?是提交我们的登录登录数据,登录数据进行啊进行这个叫登录并且并且并且设置啊设置Co对吧?然后接下来第三步啊第三步去访问叫概念请求盖请求,请求谁呢?请求我们的这个叫啊账我们记得好像是叫账户中心对吧?啊请求我们的账户中心来获取啊,这个叫默认订单,默认订单默认订单号,好那么大家分析一下,我们要呃完成的是这三个,呃就是呃完成的这个,最后我们要完成的获取那个订单号,但是获取订单号的话,我们肯定需要登录才能够获取到,对吧,所以呢,我们要前面有两步先到都到这个log个页面获取,呃,设置cookie,并且获取那个to,然后在第二步里面呢,呃,提交了一个。
04:22
登录数据,然后进行登录,然后呢再设置库位,然后第三步再去发那个叫什么啊,订单账户的这个请求,来去设置一个订单号,这是我们的,呃,一个需求分析啊,就是你要做一件事情的时候,特别是在我们下发生的时候,一定先捋清楚我们最重要的数据是什么,然后在这之前我们需要完整的是什么,就是把这个思路一定要先捋一下,好,那么接下来我们看一下啊呃,首先import啊,Import我们要导入我们的request支对不对啊,首先这个要做啊request支好,那么接下来呢,还有我们的这个from,我们的这个R叉L,然后iport导入我的e geg啊导入两包,然后接下来呢,我们看第一个啊,我们在这里呢,服装函数,嗯。
05:01
呃,我们怎么做,我们看一下啊。我们封装一函数吧,或者是封装一个列类,封装类啊,封装类进行啊进行啊学习学习学习原地啊到登录,登录和订单到获取啊获取啊分了一个,那么接下来呢,我们去看一下怎么去封装啊,这个位置呢,写一下plus啊然后呢,我们定义一个叫呃,K吧啊们对吧,然后呢,这个位置发吧啊那么接下来呢,呃,这个里面呢,需要有这么几个数据,第一个叫我们的log logr log啊就是我们请求登录的那个地址对吧?好,那我们来看一下啊,分析一下他的这个登录的地址啊,是在哪位的这个啊第一次是盖的请求对吧,第二次是POS机,所以我们不用管它,直接把这个地址拿过去,然后第二个呢,是我们的那个叫order order就是我们获取那个订单的啊,订单的那个页面的地址对吧,然后我们在这里拿来点击登录一下。
06:06
然后我记得好像是哪个点击一下,应该是账中心对吧,来这个我们啊这个位置好,然后接下来呢,把我们的那个呃S也做一个设置,也做一个设置,那的话我们写一个user杠杠吧,我感觉我好像写错了。是一个,然我们下这个这个择这个信息,个个信在这个下面啊,下面有一个把这个。把这个重新复制。放到这。好,那么没有啊,好,那这个搞定了啊。嗯,这个里面呢,我们暂时就先不要啊其他的一个内容啊,诶,我写下这个属性的啊,这个属性的一个说明啊,这个这个这个前面第一个内容呢,是我们当前的啊登录的要登录的登录登录请求地址啊,然后这个是订单啊呃,在账户中心地址地址,然后这个是请求的开的设备开的。
07:17
的请求投吧,请求啊,然后接下来还有一个就是我们的请求对象对吧,那么这个一个叫啊请求对象,请求对象,那对象这个位置呢,我们可以怎么写,我们把它写成我们的叫啊,Re re e q啊,Re q啊等于一个no啊,默认是为为空的为假的啊,那么接下来呢,我们这么去走,呃,当我们去使用的时候呢,就是。嗯,我们需要有一个方法叫做完成一个登录操作,对吧?啊登录操作呃,我们先把这个谁写一下吧,啊,先把我们那个初始化方法写,所以这个DF叫杠杠啊,Iitit杠杠啊,然后接下来呢,这里边呢,要完成一个请求对象,叫做请求对象的什请求请求对象的初始化啊,这个请求对象的初始化怎么做呢?Selff啊,DR req就等于啊,等于我们的谁呢?等于我们的request.sess好,这这句话什么意思啊,就是创建一个那个叫请求对象,然后把它放到我们的变量里边,然后在之后呢,我们就可以直接拿来用了啊所以这里呢是。
08:23
呃,比较方便的对吧,好,然后接下来呢是呃呃,接下来呢是我们先去做登录对吧?好,这里呢装这要说的画法,我写下助手这个初始化方法啊,然后第二个呢,这个是。啊,我们要问登录页面登录登录。这面主要目的是获上线获取下线,下线to,并且呢,来设置那个啊三线信息的啊,这是肯定要做的,对吧?啊所以呢,这个我们上面还得少吧,还有还有一个就是小线啊叫小线。
09:11
这个就然就是请求是这个是一个,嗯,接下来我们把这个函数下BF叫我们的login啊叫get,我们就把它get到login log方法放啊呃,在这个方法里边我们要做什么好明确,我们就是要请求我们的啊,这个叫什么啊,请求我们的这个啊,Get这个地址,然后呢,再去啊设置成book啊,然后呢,去获取到那个top了啊也就是说这个页面呢,就是做这个事,嗯,这个方法里面呢,我们第一步啊,先来发请求啊,Re EQ。啊,IQ点咱们的get方法括号这个URL,我们得写个URL,等于我们的self.ron log u。
10:00
好,然后呢,还有Hess,等于我们的hiers selfer.S好,然后呢,接下来还有什么?呃,我们的盖的请求方法啊,不需要太多,所以这个里边就这么写。好,然后这个地方还有写一个小的。下嗯,能看懂意吧,所以就我们在初始化的时候呢,第一次他就已经把这个对象设置了,所以在这个里面呢,我们直接拿来用,然后呢,完成以后呢,啊,这个内容呢,它返回一个结果给吧S好,那么呃,判断当前if啊if判断当前的res点后,如果等等于200,就证明我们当才的一个请求是通的,对吧,生产啊登录页面。登录登录。界面啊,请求成功对吧,请求成功以后干什么来解析我们的这个内容啊,怎么解析呢?这个res是不是就我们刚才啊在这个这个里边的内容,对吧,那我们用呃,我们要干什么呢?就是他要给我们返回的是什么呢?来我们这个页面先退,诶sorry啊点了我们把这个先退出。
11:06
退出以后我们看一下啊,我们点击这个登录页面的时候,它其实给我们返回什么,返回了这一堆的源代码对吧?那我刚才的这个text获取的是不是就是一堆东西啊,那我们需要在这一堆东东西当中获取谁啊,获取那个top对不对,获取这个input啊,内部的top啊,然后呢,获取到它对应的那个Y流值对不对啊,所以我要做这一步啊,那么这一步怎么去实现呢?啊,来看一下res.T就是我们现在的内容好,所以我们呢,用E好H点等于我们的,等于我们的EETDR啊叫HTL。嗯,我就不用写别的内容,我直接把这个放进就可以了,因为我们不需要存对吧?然获取这个内容之后AC点插T括号获取获写获取找到因这个库对不对,然后呢,中号,中号要什么艾它的内等于。呃,内幕等于那个叫呃,它的内幕是一个下线对吧,下限TKN好,然后呢,并且呃这个标签里面我想获取的是想获取的就是它的value有VV好,那我们看一下这个下线T叫空格。
12:15
啊,首先第一步就是我们要检测一下这个talkn有没有获取成功啊,有没有获取成功啊,那我们来,呃,怎么去实验一下呢?我们得实体化这个对象对吧?啊实体化这对象,然后调用一下啊这个方法来第一个啊,我们去看一下实例化就是呃,R吧,就这样吧,OB等于我们的r mon NG括号,然后呢,OBG调用那个log的法。啊,干好干。到号码,然后呢,运行一下我的脚本。大家看一下盖行求成功,并且数据返回对吧,那返回的时候呢,它是一个那个多个数据对吧,所以它是一个列表,所以我们这个呢,升级为零,然后运行中极。
13:04
行,可以把这个下片去掉就行啊,设置为它就行了,好,如果它这个地方为真了,说没问题啊,那就是token获取成功对吧?来直接再输对一下,这个叫叫。啊获取成功好这一步好,这是第一步啊,来直接把这个talking了啊,直接就获取了,那如果如果有问题怎么办呢?所以这后一个二次啊二次来这里呢,是point,这这个位置呢,可能是请求请求错误,请求错误错误啊请做好,这是登录页面了啊登录页面了,那这个页面登录成功之后啊,登录成功之后我们接下来要做什么啊,就要要第二个方法,就是OG调用第二个就是那个叫post,就执行我们的那个log了,所以这个位置我写个post只能调用这个方法,当然这个方法你是不是没定义啊啊在定义方才呃才可以,所以这个呢,我们再定义第二个方法看一下。
14:03
嗯,把这个折起来,然后在这里面去写第二个这个叫请求请求请求登录啊,然后呢,呃,请求登录主要就是设置那个叫什么设置那个session啊,因为我们这里不需要单独设置,因为我们已经设置上了啊,设置上了所以不需要啊,只要他登录成功就可以,EF我们的那个叫postho log or gn括号,然后呢。问,那么这个方法里面我们要什么?我们接户,我提的一个息所说了是你的户名所我们的号,我们看下应该是手机号对吧。手机号,手机号。一码好,然后接下来呢,就要发请求了啊,接下来就可以发你了,这个请求地址是谁呢?是我们post请呃,Post的发请求,然后呢,提交了一个数据对吧?啊,所以这个呢是提交数据提交。
15:24
的放弃push请求,那么这个地方呢,是cf.re EQ啊对吧,然后呢,调用它的那个push的方法,然后把我们的UR设置进去,等于我们的log log RO。应该是上。Log对,好,然后呢,第二个也需要个as等于,嗯,没错啊,点点S,好,然后接下来就是我们的,嗯,Date数据等于我们的,嗯,当然了,这个date数据你得在这里准备好是吧?准备好了好这里哈,这个手机号和密码我暂时先不做验证,就是用户你自己写的时候把它写对就行了啊,我这里呢,就先不做其他验证啊,不做验证以后呢,这里边我们看一下他提交登录的时候,他都提交了是什么数据,嗯,我们看一下,嗯,第一个是u name,第二个是用户名了。
16:22
嗯,可以看一下。来清空一下。啊,最后一下。啊,这里点击登录啊,他po形发出了,我们看这个行啊,主要看他那个我们提交的数据应该有哪些项啊用password和那个对吧,好,那知道这边上就写user name冒号u name对吧,你刚才在设置边了对吧?好然后呢,Pass word word。
17:01
那个里面也是放纵,其实顺序也没啥要求,对,然后。然后我们这边放什么呢?放我们R那个叫就可以了,好,那这样的话,这三个啊三个数据就已经设置成功了,对吧?设置成功之后,下面是不是就可以发行请求数据以后,我们来判断一下,一步判断一判断当前的,呃当前的这个结果啊当前的结果的话,我用res接受一下,那么res判断res.R的后的如果等等于两百两百或啊或就是二啊获得res.R对的后的等等于302302,这是不是都成功,因为大家可以看到它刚才是请求成功的对吧?啊请求成功之后,哎,我们这个时候可以干什么?哎,可以就是线下当前请求啊登录登录成功,登录成功以后啊可以干什么呢?接下来就可以请求我们了啊,就是请求订单,订单数据了,订单数据啊,请求订单数据,那么请求订单数据的话,我呢,我们就不在这里做分格了哈,我就单独再分了一个方法啊,然后呢,看了啊来完。
18:07
我们的另外一个方法的一个处理和获取。好,这样我们来测试一下这个能不能成功啊。嗯,但是这样的话也测不到啊,也测不到,所以呢,我干脆把第三个方法给大家先写一下啊,就写到这里吧,第三个方法啊,就是get请求请求账户中心,账户中心,然后干什么来获取他的那个叫。订这个,那么这里我们那个。好,然后呢,怎么去请求我们那个叫这个订单中心呢,啊,订单中心的数据啊看到。这个什么。应该怎么去做呢?这我们只需要啊,只需要在这里发一个请求,第一个叫re,等于我们的S的概方法,然后请求我们的那个UR2,它等于我们的角O,嗯,或者叫cfrf.o对吧,这样的话范解,然后第二个呢,是我们刚才的那个需要设备一下,等于3.ae还好,然后呢,Res这是呃这个位置啊,是请求我们的个叫什么?请求我们的这个呃页面啊请求页面,那么请求完成以后,接下来我们要判断当前的请求状态对吧?Res当样吧啊账户中心请账账写在的账户中心,请求成功啊,然后接下来正在解析是吧,正在解在解析。
19:59
解析数据,那么解析这个数据我们需要怎么解析呢?RS的text是不是依然是我们的获取到那个反问结果是吧?所以呢,我们依然使用我们的XAC,这个呢是S等于我们的叫ET,点呃点STL括号,然后我呢,啊这个S开始放进去,那么放进去以后,呃,那么就会到了什么呀,到了这个页面,那么我们就主要看一下这个页面中,我们说会会有这个订单号就可以了,我们看一下啊,在这里搜索一下。
20:30
找到页面中的订单号啊,找他的订单号,我的妈好长啊。看一下怎么才能找到这个元素比较快比较准确啊,比较快还是比较准确。C、翻一下页码。就这一个好,没错啊,找到它先找到它,找到它里边呢,再获取它里边的这个叫什么small啊small就可以了,Small啊就是这个标签里边的small,所以呢,下面我们这里写的时候说A点叉八叉PA啊PA。
21:10
Ta方plus号,然后里边呢是啊分散号,Sorry,先写这号分下的BA,然后括号这个里边呢写艾符plus等于引号啊引号谁呢?刚才这个我所检查的这个这个拉这个名字,所以这里把它出。嗯嗯sorry,占住位置啊来张啊这个位置啊搞定以后,然后呢,再往下找他的时,找他的下面那个small标签,Small标签获取他的那个叫small标,先获取它的那个文本内容对吧,所以这个呢号从没有没有符号符号,然后呢再把这个结果给返回就可以了,嗯,来。最后不啊不能带啊好,然后呢,嗯,我们看一下这样的话有没有其他问题啊,我们可以先来测试一下啊嗯,当然了,测试的话呢,我们就可以这样做了,我们只到时呢,直接调用这个方码,那么这两个方法呢,不需要在这里调用了啊,不需要这调,你直接就用那个实例化一次就完事了啊完事了啊呃,完事以后呢,这个位置我看一下。
22:12
这个是订单,订单我再写一个订单号,单号等于。零啊,零是默认的对吧,零是默认的好,然后呢,等到它能够这个叫请求成功以后啊,请求成功以后,我把这个R呢给它设置,所以这个位置呢,这样啊o code等于啊可以吧啊那这样的话,我们就最起码还还能设置一下数据啊好了,那么这个完事以后啊,那我们来再来分析一下啊,或者说回顾一下我们这个类的封装。在这个类里面呢,我们定义了一堆的这个属性,这个属性里面包含了我们请求地址啊,账户中心的地址,然后我们请求的海,以及我们请求的对象啊,还有我们的套口令和订单号,那这些呢,有的是已经确定的,有些呢是还不确定,或者说我都没写,那么之后呢,获取到之后咱把它更改了,那么这里边呢,有那么几个方法,首先第一个初始化放,初始化放里边呢,是要完成我们的这个筛对象的一个数字化,然后呢,并且呢,在这里呢,我们去调用啊,这个叫这个叫get方啊,它完成以后再去调用一个post。
23:15
用ER调用那个的post多种方法啊,最后他完成以后再去调用这个C点,这个叫get什么呀。O的方法对吧。啊,这里边我这个代码呢,写的还是有些不太严谨啊,因为这个位置,你比如说他请求成功以后,请求成功以后我们得怎么判断它的这个内容对吧,每称re,每天一个触法TRU对吧处啊,然后get这里面呢。呃,成功以后也来一个return t,就是说第一个成功以后就请求第二个,第二个成功以后就请求第三个啊,之后再来挨个判断啊,所以这个位置呢,来E判断,判断它的结果如果为增,那么这个时候我们就请求它,并且如果它的结果也为增,那我们再去请求最后一个。
24:01
啊,那这样的话基本上就啊没有太大的问题啊,如果在这期间啊,有问题我们再来啊先看吧,来运行一下我们当前的脚本中年啊,他会告诉你让你写你的手机号是吧,我的手机号是17610195211,然后回车让你写密码,我的密码是。呃,我的名字,然后123,我当时随便设置一个好对大家看一下请求数据,手工再看一下订单号是不是就返回了对吧?当然呃,首先呢,这里边反馈的数据啊,它是一个那个叫呃是一个。呃,数组,但是实际上里边呢,就是这一个元素,而且呢,它中间呢,前面有电单号,后边还有一个杠N对不对啊,这个的话,我我估计大家就你学了Python技术以后,你都可以非常方便的去处理掉这些内容啊,都可以啊,那这就是我们上呃在之前给大家留的这个作业啊,留的作业啊,那么这样的话就基本完成了,所以这个代码的思路是怎样的,首先我们要。数字发方码,然后呢设置一下筛,那么每一次请求的时候都用这一个请对项,那么接下来在登录的时候,我们就要设置上筛,并且获得到problem,然后呢,再去POS的数据里边,让用户输入用户名和密,呃,那个手机号和密码啊,然后发送请求,再设置登录的图片,然后完成以后再去请求他的那个账户中心来获取他的订单号,那这样的话啊,我们这个任务去算啊完美的啊完美的就完成了啊好了,呃,那这这个本节课的内容啊,可能稍微长一点,因为我们这个是一个时代啊,直接带大家呢,就把这个就完成了啊,大家课后呢可以多多练习啊,希望大家呢能够举一反三啊,去访问一些啊,去多做一些其他的这种尝试和练习,好了,各位小伙伴啊,那本节课就到这里吧。
我来说两句