00:00
Hello,大家好,欢迎各位小伙伴来到学习园地,那么在上节课呢,我们跟大家去讲一下我们cookie和session,以及在我们的呃请求当中如何去携带这个互理信息,其实也非常简单,在我们的请求的这个head当中去手动设置cookie就可以,嗯但是呢,现在呢,遇到这样一个问题,说如果你去手动设置的话,每次我们都需要去呃浏览器操作一遍,然后再用浏览器里面的不可以复制下来再粘过来,对吧?那这样的话呢,其实嗯,这个排除程序啊就不够智能对吧?啊就太被动了,所以这个时候我们可以怎么办呢?哎,可以用一个方法,呃在我们的这个想办法呢,让我们的这个盘中程序啊自己来设呃主动的去设置啊对应的固定信息,并且在发请求的时候呢,主动携带固定信息,这样的话呢,呃就不需要我们去额外的去做什么操作好,那么本节课呢,我们就来看一下这样的一个实验怎么去,呃做了好,那么首先呢给带大家呢去啊分析一个网站啊,这个网页呢,我们先做一个先呃简单的例子哈。这是一个那个,呃,随便找了一个电影网站啊,它叫做人人影视啊,然后呢,这个人人影视呢,我之前呢也注册过,我们先尝试着登录一下哈,呃,这个信息我记得好像是我的啊,下边有啊对呃,我的名字,然后艾特这个it叉DL.c啊这是我的一个账号,然后呢,嗯,用户的密码是PY,然后大写的p ho123测试一下基本好登成功没问题,好那么嗯,在这个页面里面看一下哈,登录成功以后呢,我们如果想进入我们个人的这个页面,应该是在这里的吧。
01:25
好在这里啊,在这这个页面啊,那假设啊,假设我现在我们说需求,我需要拿到这个页面信息啊,不管他有什么吧,我们就拿到这样的一个页面信息,我们应该怎么做啊,应该怎么去做,对吧?首先呢,这是我们最终目标访问的页面,对吧?啊最终目标访问页面,所以呢,我们这里呢,简单的做一个记录。啊,这个使用SSES方法好,然后呢,嗯,我们来看一下我们的最终目标,最终的目标地址。
02:03
五六。地址啊,是这个信息是这个好,然后呢,嗯,当然我这个哈,我这个U它又显示不出来了,可能是我这个判断码还是有点问题啊,回头我可以把它重新装一下啊啊那么最终的请求的目标地址,但是当然了,我们要先请求这个地址,那很明显我们得写带我们的货品,因为如果没有固品的话,肯定这个信息就啊就你访问到这个页面对吧?好那么接下来我们怎么做呢?啊,我们原来我们现在的方法呢,就是我可以从我的呃可浏览器里面去记录我当前的一个登录的固定信息,然后把这个固信息呢,手动的啊给他完成这样的一个记录。嗯,但是很显然这不是我们想要的结果,对吧,它还会变得很麻烦啊,因此我们怎么办呢?啊,我们就需要自己来完成这样的一个货币信息的记录,所以呢,在这里怎么说呢,我们点击退出。点击去送好,并且呢,再次访问这个页面,然后呢,他告你先登录对吧,啊登录的话,他嗯,他会又跳了是吧。这个网页有bug啊,好,那我不管它啊,我们自己点击登录页面,登录页面在这里写入账号和对应的密码信息。
03:03
发生以后呢,在这里点击登录对吧,好在这之前我们先打开我们的。呃,调试工具,然后点击network,然后呢,嗯,下面写上我们的一个行成例子,P小写的PY,大写的P,然后123,接下呢,点击登录好啊,登录完成以后它成功成功之后,那么它会设置呃对应的这个表上来咱们的cookie的信息,然后我们就可以再去访问我们刚才的那个页面啊,大家看下到了对吧?好,那我们看下他请求的信息请到哪里去啊,所以我们看一下这里有个地址叫。大家可以看一下啊,在这个地址里面啊,这是一个请求地址,然后以po的请求发送的,请求发送成功以后啊,请求发送成功以后呢,他给我们返回了一个信息啊,Response里边设置一个库给看啊看设置一个酷比信息啊,还不止一个啊,好多库给信息对吧?那么只要我们嗯,在这个SS请求,呃,设置这个库信息,让我们的爬虫主动设置上啊,然后在下一次呢,我们代入那这个问题就解决了,对吧?所以现在我们分析一下啊,第一部分先找到了我登录需要请求的一个地址来请C。
04:05
复制一下啊,在我们的代码里面,我们先记录一下来登录,登录到登录请求六二右好这一个,然后呢,还有一个我们需要知道登录时。啊数据,所以我们当时传递的POS的数据是什么啊,那么在这个地方把它遮掉遮掉。最后一个form。在里边呢,有那么三个参数啊,有那么几个参数,几个参数我们来看一下。哦,它这里还有一个什么,呃,R back是吧,请求的一个地址,然后这个是Python对吧,然后这是我的账户和密码,好了,那么这样的话我就知道了啊,我们需要填写上这样对应的信息,然后就可以登录请求,对不对啊,然后呢,再去实现啊,我们赛的自动记录好,那这样啊,我们呢,把这个代码呢来写一下,首先打开我们的。啊,先创建一个断文件啊,第五个我们叫他requestq ES request中中的ses筛方法好保存,那么同样的啊,它需要第一步,我们先导入我们的request e,然后接下来呢,啊,这个叫呃,我们最终啊,最终请求的那个目标啊,目标的U22U22。
05:18
说这个例子对吧。这个地址页面当中返回的时候我们想要的,但是呢,很明显我们直接请求他是肯定不好使的,对吧?啊,这是请求需要获取,这是需要请求的。需要请求到目标位置。目标。目标地址,目标地址好,然后呢,还有一个我们登录的登录请求地址啊地址,那么这个地址是哪是我们当前把它注册掉。好,这个叫我们叫的密密等于一个什么花前啊,刚才在笔记当中记录的这个信息,复制一下。
06:01
然后放到我们这个位置来,好,这第二步也有了哈,第二步也有了,好,那么接下来好设置一下我们的注意一下中英文啊,设计一下我们开啊,就是请求的请求的开,请求图请求图请图里面其实我们主要设置谁啊,主要设置我们当前的这个角开啊开,那我们到我们之前的页面当中去寻找一个吧,来把这个复制一下。一下方面。好放到这好,那么接下来呢,哎,正常来讲我们就可以发请求了,对不对,但是在这里呢,我们先注意我们的目的是要需要让我们的啊这个request词,然后呢,主动的帮我们去记录对应的呃信息,并且在需要的时候,呃这个携带这个OK对吧?啊所以啊,如果需要呃这个叫爬虫程序,爬虫程序主动主动记录叫主动记录。啊,主动记录这个,并且并且携带,携带并且携带,那么。
07:03
再使用机之去先调用方法方法啊并使用啊,并且使用我们啊CS方法,返回到叫返回的对象,发送请求,发送请求即可,那么这样的话来完成这个操作,所以我们第一步怎么做呢?啊,我们先定一个变量叫2Q,等于我们的每块是词,第二章这叫session方法,好那么这个三种方法,嗯,定义好它以后呢,我们再去啊发请求,发起什么请求呢?发登录的请求,那第一个先发起登录请求,发这个地方叫发起登录,叫登录请求,好那么登录的请求怎么做呢?啊,我们这个位置叫res。我的IQ,注意都是request,我们是IQ点啊,我们的一个post的请求,那请求的地址呢,是122等于我们的,等于我的login对吧?然后呢,还有我们的head有需记录等于我们的啊还有一个就是我们当前目请求时所携带的那个数据,还有一个date对吧?啊,当然我们现在还没有,呃,没有定义这个data对吧?好,登录请求之前我们先把data给它定义好啊,定义的数据是什么呢?啊,把刚才那一段内容这个数字过。
08:23
放到这里。好,没事,然后往这里站好,那么接下来呢,简单调整一下我们的数据格式。我这个编辑器啊,我也不清楚它到底是什么原因导致了这个问题,它为什么会出现这样的情况,就是种字符就识别不了,要么就差一个,要么就差差几个,就是总是差那几个。这是R,我觉得是不是应该就是R。这个点就是。很讨厌很讨厌,让我看一下。你看又阿尔代啊,对,好,那最小。
09:04
把这个粘一下,其实这个我们无所谓啊,只要在我们代码当中正确的把这粘一下,然后呢,这个错吧,都错没问题了吧,然后呢,这是我的账号,这是我密码,然后这个是呃,Remember,就是是否记住,然后你当前跳转之后的一个页面,好那么接下来呢。顺序。这个位置是我们当前的啊,叫请求失败啊,登录登录请求,登录请求时的数据好,那么接下来呢,发起一个登录请求,登录请求回来之后,我们要判断一下他的状态对不对,好意思。这个判断。状态好,那这个时候怎么做呢?我们的后的等于我们的re re表上CD是后的,然后呢,我们把它打印出来,并且呢,做一个方案,如果他当前的厚的等等于200,等我们当前请求OK对吧?请求OK以后干什么呢?我们在里来再去发起新的求发起。
10:08
发起新的新的请求去啊获取目标目标数据,目标数据啊,目标数据就是我们最终啊想要到什么,是这样的一个页面的,比如说UID对吧?啊只要他能找到对应的这个UID就是完全成功了,对吧?好那么怎么去做呢?在这里发起一个新的请求,我们之前发现就是用1REQUEST这个对象,然后点上一个get方法,那么现在呢,这里边写URL等于我们的URL对不对?好呃,U号,然后逗号,然括我们的啊,Head用我们的head,你需要记录这个信息对不对啊,但是我要在这里跟大家说一下,如果这么写就报错了啊,或者说实现不了,为什么呢?因为当天你你在这个地方,等于是用一个新的请求对象再发请求,而我们现在要什么,我们之前之所以前面写的那个大堆,主要就是用筛方法啊,用筛方法让他帮我们主动去记录这个对应的顾客信息,结果呢,在上面你没有用什么啊,那你怎么用呢?好,用第一个。
11:02
啊,用第一个就是用调用筛方法之后的这个请求对象来选择C,所以第一个啊什么方换掉了,所以这个地方是as。等于IQ两边。然后下面再去发呃这个请求啊,或者说去看他的状态码啊,嗯,状态码的话我们看一下西,呃,我这里就直接置open,直接写好,我们叫它那个呃人人点。然后写入我们的,然后F,那我把我们当前新的啊。简一下啊IQ点没有新的问题了,好了,我们来先看一下代码啊,呃,第一个是我们的目标地址,我们需要获取这个页面的数据,并且把它写入到文件当中,对吧?但是在之前我们需要先登录,所以我们定义了一个登录的请求地址啊,设置了一个请求头,接下来呢,我们又调用了一下设置方法,返回来一个IQ,也就是请求对象,用请求对象去先去请求登录,请求登录之后我们去判断状态,如果没有问题,好,我们再发新的请求,也就是说这个时候。
12:14
在我们使用的筛选方法之后,在发请求的过程当中,如果他想要的内容里边需要设置K啊,那么这个req对象会自动把我们设置上,然后在下一次我们发请求的时候,会自动把我们前来那来看那它的过程是不是就和我们的,呃,浏览器的这个原理是一样的,对吧?浏览器去记录这个空体是一样的,好,那我们接下来测试一下,看看有没有问题,来右键直接点击运行。200好没问题,然后看人人点S点好,那么大家注意看这就行了,当前这位置是不是已经是我的首页了,对吧,如果你不登录啊,你绝对到不了这个首页,不录绝对到不了这个页啊,并且呢,看一下这个有没有。有来好这个的UID和用户组对不对,是不是要找到对应信息啊啊,那么当然了,剩下的就是你想在这里面提取,我们先不想提取啊,我们先说如何去获取到我们想要的这些数据啊,就是你得先得到它的源代码,正确的想用内容,我们才能做后面的操作,好这就是一个基本的啊简单的一个练习,那么在这个里面我们再强调一下啊,再强调一下,首先这个位置,这个位置我们没有用request直接发请求,而是先用它直接调用了一个对应的session啊,Session的方法,然后呢,它返回的是一个IQ对象是什么呢?叫请求对象,请求对象在这之后,在这之后如果你需要让他记住,会给你就用调用方法,对不对啊,然后你还如果需要让他,呃,不光需要设的,还需要请求的手候带着这个片啊,以后所有的请求都用,都用这个对象啊,都用个对象,所以下面发请求用的这个对象,然后再一次发请求还用的这个对啊,所以是通过这种方式来完成我们当前的一个登录的啊,这样的一个操作啊操作。
13:48
啊,不知道各位小伙伴有没有看明白啊,大家呢,可以去思考一下这个问题啊,思考一下问题啊,当然了,在这个里面呢,因为我为什么要找一个这样的页面啊,首先明确的讲,这个页面呢,他们有那种特别繁多的一些个什么防攻击啊,什么安全设置啊都没有,而且相对来来讲,我们只是做一个简单练习,它叭较叭较呃轻松一些,好那么接下来我给大家留一个作业,作业什么呢?好on好,大家呢,去用我们的类似我们刚才这种代码思路来完成我们这个网站页面的登录,以及啊拿到我们对应的那个数据啊,比如说就是个人中心的那个页面数据啊,大家呢,自己来啊完成一下,来这里写一下这个作业啊,大家可以当做一个练习,当然了,明确的告诉大家,绝对不会像我现在写的这个这么简单就可以完成,所以呢,你要先把这个完成啊,回头思考一下啊,思考吧,大家可以不用动着做,如果你要有小伙伴比较快的话,你可以跟我说一下啊,大家可以下。
14:41
一二在这里面起到作用,起到起到作用。好,另外这是第一个啊,就你要思考一下,这个筛选当中到底要起到了什么作用,对吧?啊,这个还需要你自己再理解一下啊,我不清楚大家是不是都理解啊,第二个就是啊,去思考,去思考,思考如何思考。
15:05
如何啊用啊,如何用这样的这样的这样的思路,思路啊去完成啊,我们学习原地的啊,学习原地啊这个原理哈,来原地。学习语言。原是我们这个叫原啊,这个学习原地登录登录当然了,这个里面呢,明确的跟大家讲他会呃比较麻烦,所以呢,你只需要有思路去考啊,能写出能写出思路。即可输入即好,在后面的话,如果我们后面时间充裕啊,我会抽抽个时间,然后给大家去讲解一下这个学习力的一个登录操作,好当然在这之前我们还要先学的下单东西才能完成操作,我只是让你去思考啊,大家暂时呢可就先不用去做好,那么这个就是我们本节课的内容,如何使用我们的呃快速用的方法呃三种方法来帮我们主动的啊去记录会呃互体信息并且在啊需要是主动的携带它啊,所以呢也非常简单。好了,那么本节课就到这里啊,各位小伙伴啊,课下之后呢,我做一个练习。
我来说两句