00:00
OK,同学们,那么接下来啊,我们要讲一个叫做handler处理器,那为啥要讲它呢?大家可以看一下这样几个东西啊,说我们在最开始学习的时候啊,学的是这样一个东西叫URL open,对吧?各位,但是呢,当时我们说了,如果你要有UA校验的情况下。那么你这个就处理不了吧,对吧,大家,诶,所以说我们才会去学习什么呢?我们才会去学习这个,诶请求头的一个定制啊,请求头定制,但是这个请求头我们只有三个参数,一个叫URL,一个叫has,一个叫做date,那说如果呀。上节课我们也讲了啥呀,如何绕过登录,使用cookie登录对吧?哎,使用酷黑登录,但是大家有没有想过这个问题啊,如果说你每次登录它的cookie都不一样。那你怎么办呢?
01:00
每次登录cookie都不一样,那你还能使用那种静态cookie吗?是不是不可以啊,那像这种更高级的请求头,那我们应该咋办呢?对吧,各位,所以说在这里边儿我们要学handler。对吧,来定制更高级的请求头,这种更高级的请头随着业务逻辑的复杂,请求对象的定制已经满足不了我们的需求了,对吧,就像动态cookie,还有一个就是代理,给大家解释一下啥叫代理。假如说像之前啊,之前呃,班级里边有70多个同学,我带着大家一起去爬某一个网站。一起去某一个网站,那这样的话,在这个网站的后台他会监测你,诶为什么你同一个IP,你这么高频次来访问我呢。你一定是一个爬虫嘛,对不对呀,所以这个时候呢,当时他把我们公司的这个IP封了大概一个半月啊,就不让我们去访问了,那这种的时候我们咋办呢。
02:05
我们就是不是可以使用代理呀,我们用其他的IP来访问是不是就OK了,对吧,各位,嗯,所以说这就是我们为什么要学习handle的处理器的一个基本的一个说明,OK,那么接下来我叫讲这handle了处理器我们是分三步,第一个handle多ler处理器的一个基本使用,紧接着我们要讲一个代理服务器啊,就是当他把我们的IP封掉之后,我们如何来操作,最后一个就是我们的cookie库,假如说动态动态cookie啊来实现,好同学们,那么接下来我们要讲的是handle了处理器的一个基本使用,它和我们的这个UR lab.request和UR lab点这个request.ur open差不太多,那现在呢,我们来创建一个文件。啊,在这来创建一个,然后写上啊上硅谷下线,嗯,爬虫下限ul lab下线,这是叫啥呢?叫做handler。
03:12
啊,处理器。的基本使用,OK,同学们啊,它的使用也比较简单,就是在我们原来的代码上啊,加了三行代码,那举例说明啊,看怎么去做,我们现在的需求是这个样子的啊,需求啊也是就是使用handler来访问百度。然后来干啥呀?来获取网页源码,这是我们的一个需求,那这个需求我们如果说用UR open啊,很简单就能实现了,对吧?但是为了我们讲handle处理器的基本使用,所以在这呢,我们还是访问的百度啊,用一个旧的网站来讲解新的知识点,这样的话我们就少了一些反扒的手段了啊。
04:00
专门的来讲解知识点在这呢,我们干啥呢?假如说要导入一下啊,UR lab.request OK,我们写一个ul等于HTTP冒号斜线啊,3W点百度点com OK,那接下来我们是不是还要一个请求头啊,对吧,还有请求头就还点呗,那我们找一下,嗯。OK,那接下来注意啊,同学们,我还需要干什么?还需要请求对象定制,这是没有问题的啊,没有问题的,那么request等于your li.request点啊,叫着啥呀,大的request,然后在里边呢,我们来写URL等于ul head等于head OK,这个此时啊,我们请求对象的定制就已经成功了。按照之前的套路来说,我们干啥呀,是不是直接就访问了。对吧,各位你直接访问了就给你数据了,但此时不我们换另一种方式来做啊,其实handler的这个使用基本上三个单词就搞定了,第一个就是handler。
05:06
哎,你要获取handle的对象,第二个我们叫啥呢?叫build啊,下划线,然后handle opener opener,第三个单词就是我们的open啊,大家把这个三个单词记住了,无论是代理IP还是动态cookie,还是handle了的基本使用就搞定了,那么我们来看一下啊,第一步,然后获取一下啥呢?Handle了对象等于your lib点儿request点,大家注意啊,我们此时使用的叫http handle了,而在这里边同学们注意,我啥都不写,没有任何的参数。第一步就是获取handle的对象,来写个注释,那叫啥呀,叫做获取。获取handler获取啊handler对象对吧,第二第二步我们要干啥呀,是不是说opener啊,所以说我们第二步啊,要通过handler来获取opener对象。
06:08
第二步,来获取opener对象,OK,那它咋来获取呢?来等于啥呀?等于吧,点request,点大家注意啊,第二个单词叫build,所以在这里边写个build opener,同学们,你看这里边传的是什么?是不是handleless,哎,也就是说它里边的一个负数或者一个对象都可以啊,上边是不是有handle了呀,你直接传进来不就完了吗?对吧?OK,他们三个啊,每一步都是连着的,你只要一步不写,你绝对错,因为那个值你没有啊第三步就是啥呀,调用open方法啊,调用open方法啊,调用open方法咋调用呢?大家注意啊,现在我们通过open的点open方法。
07:07
大家看啊,Open方法里边刚才传了一个东西啊,什么request对象看到了吧,诶所以在这里边儿呢,我们要传递的是一个request对象,它是不是特别像URL open。对吧,各位,所以说这里边它的返回值就是啥呀,Response哎,就这三步永远都错不了,然后我们可以干啥呀,这的内容呗,等于response点儿read.decode来里边传一个啥呀,Utf杠八,那最后来打印它就OK了。明白吗?同学们,所以说这三步就相当于啥呀,就相当于我们的这个you力吧点request.you are open,那同学老师你这还不如写一步呢,你这多费劲呢,但是我告诉大家不是的啊,这个基本的应用讲完之后,我们就可以使用代理了,我们可以就去网上找找一些代理IP来访问他了,明白不?各位OK,各位OK啊大家,那接下来我把视频暂停一下,这是handlera处理器的基本使用。
我来说两句