00:00
Hello,欢迎各位小伙伴来到,学习完毕啊,那么上节课呢,我们已经给大家介绍过我们关于这个request库的一个基本使用啊,那大家也学习到了这个内容的一个基本操作吧,那么接下来本节课呢,我们继续来看一下request库啊,它的第二个问题就是关于我们的请求头,那么在这里呢,我们先打开我们的代码编辑器,我们呢,在这里呢,去新建一个代码,我们来操作一下,在这里右键新建,然后选择我们的拍TH摄文件,我们在这里选的是第二个,那我们当前呢,这个叫呃,关于request词啊,Who的。嗯,请求投啊请投,然后点替换好,那是这样的哈,嗯,我们呢,首先第一步啊,要使用的话呢,先把我们的这个一块是库啊给导进来,嗯,块是库导入啊,第二步呢,我们要定一个幼二班,然后呢,发一个请求,比如说。我们这里呢,具请读我们当前的啊学习原地啊这个网站,我把这个地址啊给大家复制一下,那么粘出来之后呢,放到我们这个啊位置来那上面呢,我也给大家写一下注释啊,就发前的一个定义请求的URL,然后接下来啊,接下来就是发起啊发起get请求啊发起get请求的话呢,我们拿一个变量来结束一下反馈结果,对吧?啊as等于我们当前的一个叫request.get请求,然后呢,UR等于UR啊等于URL好,那么这个请求结束以后呢,我们来看一下我们当前的啊叫获取响应内容,我们来看一下获取请求啊响应状态码,获取响应状态好啊啊,那么这个响应状态码呢,我们可以在这里呢啊拿一个变量接收一下,我们叫个后的等于re点三啊studio扣的啊,然后呢,并且我们可以把它打印去啊,看一下我们这个响应状态码的具体响应内容,对吧,然后呢,我们还可以啊把想。
01:49
应啊叫做响应成功啊,成功后啊把响应的内容,把响应的内容写入啊叫写入文件中啊写入文件中,那我这里呢,简单的啊做一个判断if判断题呢,判断我们当前的这个叫code的,它的结果如果等等于200,就证明我们当前的一个请求啊是成功的,完事以后呢,我来一个with open去把我们当前的一个内容啊写入到啊test.skmr这个的链路啊那么接下来呢,后面是一个啊W的请求呃模式,然后AFP啊fp.y.Y写入,那么我们在这里写入的是谁呢?写入的是我们当前啊返回的这个内容,所以我在这里呢,指标res点啊T来把我们这个内容写入啊所以这个代码呢,也比较简单,大家来看一下啊,首先第一步呢,导入,第二步呢,发请求,第三步来获取一下啊响应状态码,然后把它打印出来,最后呢,我们把这个响应的内容啊给它呢,写入到我们的这个文件当中啊,非常简单的一个步骤,接下来呢,我们在这里点击右键来进行一个运行。
02:49
行。好,没有问题啊,大家看到已经200成功,那么接下来这里边还有一个tests.stem2,我们打开看一下,来看一下,诶,大家能看到哈,我们当前的内容就已经请求到了,请求到这个网站了哈,好,这是其中一个网页跟我们上啊上面第一个的演示呢,也没啥区别,对吧?那么接下来呢,我们在这里呢,再定一个UR,把它注释掉,我们请求另外一个UR,大家来看一下啊,我在这里呢,给大家找了一个网站,这个网站呢,叫做西池代理网站啊,专门做这个代理IP的啊,后期呢,我们也要用到这个网站啊,我们来访问一下啊,用我们的这个request库呢,向这个地址发一个请求来CTRLC,把这个UR地址复制下来,放到我们当前的定义的位置,那按道来讲哈,它应该也是想一个200OK之后呢,把我们的内容啊给写进去对不对,非常简单,因为我们请求这个,呃,我们当前的虚线地啊,百度啊,这都成功对不对,请问他应该也没问题,来这里右键点击运行。
03:41
大家来看一下哈,响应状态码是503,不再是200了啊,200证明的成功啊,503啊,没有成功,没有成功的话,肯定就没有写入,那我们当年太子呢,肯定还是我们上上次爬出的,呃,爬爬出来的这个内容哈,好,那么在这个地方出现的503什么意思呢?啊,大家回头呢,我可以给大家呃专门找一个那个我们关于这个状态码的内容哈,那么500呢,全都是服务器内部的问题,也就是说呃,500开头以上的都是服务器内部的,那么503呢,其实就服务器内部拒绝了你当年的请求。
04:11
啊,也就是说明确的讲他拒绝请求,为什么?其实很简单,在上节课呢,我给大家去讲了一下,我们关于request里边发请求有一个东西叫做request第head,就是你当前的请求通信息,其中这个请求信息里边有一个叫your engine啊这么一个信息,这个信息是什么呢?就是我们目前发请求,告诉别人我是个Python的requests库来发请求,那就明确的跟别人讲,我是一个爬上程序。啊发送程去,那么对于一些网站来讲呢,它无所谓,你是不是发生程去啊,都可以访问,比如说我们自己的啊这个学习原地对吧,那可以无所谓,然后百度呢,也也也不也不管你对吧,但是目前这个新式代理诶,他就做了一部限制,就是说你如果不加请求投,或者说你告诉我了,你就是盘中程序,我肯定就不让你请求了,所以啊,他检测到了这个请求信投信息啊,所以给你返回个503就直接拒绝了啊,你得不到任何消息和内容啊,所以在请求这一步啊,啊,我们需要再呃再做一步操作怎么办呢?对于这样的啊,一个网站,我们正常的拍摄程序是抓不到数据的啊,人家直接就拒绝了,抓不到数据,那这个时候怎么办呢?哎,我们可以在这里呢去定义请求图信息啊,来看一下定义请求投信息,那么怎么定义呢?我们在这里写一个变量,S等于一个字典,那么这个字典当中我们需要写什么参数呢?哎,把我们刚才这个参数写上就是user isn'isn'这个user isn是什么呢?就是我们当前的一个身份,就是用户请求我的一个身份。
05:36
零,那么在这里呢,我们把这个信息写上,那么写啥呢?肯定不能写啊,Python你可以自定义写成别的,但是写别的不好使啊,你写成呢,写成浏览器的请流动信息啊,谁是浏览器的请用东信息呢?还是用我们的方法,你在浏览器的空白处点击邮件,点击检查,那么往下翻,翻到我们的network这个位置,然后刷新,重新请求一次,也你看大家能看到啊,很明显的,我们用浏览器就可以请求,但是用我们的拍摄程序就请求不了,对吧?啊,很简单,人家就是做了一个啊验证就把你卡住了,对吧?所以这个时候我看呢,点击我们的第一个启动链接,在下边呢有一个。
06:09
啊,有一个我们找到这个叫request,就关于请求头信息里边有一个U的,你看我们当前浏览器这么的浏览器写的是墨Z拉5.0,然后呢,麦OS就证明你当前的系统,然后ome浏览器啊,大家看这就告诉别人说我是在麦OS这个系统上使用的chome浏览器向你发的请求,那就是一个合法的,别人认为就是这合理的,所以呢,啊,就给他想应的内容,因此啊,我们那个是不好使的,为什么我们告诉别人我们是一个爬虫程序,对不对,所以这个时候很简单,你只需要把这个UN的头信息把它复制下来,然后放到我们定义的这个变量的这个位置来往这里粘。啊,加上这个叫u engine投信息,U engine就是一个身份的表明啊,你明确的跟人讲,我是一个盘送程序,那我就不让你爬对不对啊,所以呢,直接返回1503什么东西都不能拿到对不对,所以这个时候的话呢,我们用U人engine诊啊来发请求啊,U人engine诊来发请求,并且呢,给它加上这个对应的通信息,这个通信息啊就是我们浏览器的对吧?好,那么加样以后啊,现在好不好使呢?肯定不好使啊,因为我们目前呢,只是定义了这个请求通信息,我们还需要在请求的时候用上这个请求的信息,怎么办呢?把这个变量复制到我们当前的get方法中,作为我们的关键字参数来进行传递啊,在head等于head这个head数就我们的变量对吧?把head作为关键字传过去,然后再去发请流,看状态码,以及把内容写进去。来,我们测试一下右键运行我们当前的程序。
07:32
哎,大家来看一下啊,这边返回的就是200正单成功啊,我们来看一看test的里边来国内高密啊,免费STB代理IP啊第一啊国内高密啊,目前是不是请求成功了,所以非常简单的一个道理,如果你明确的就告诉别人,我就是一个叫什么啊,就是一个这个叫啊请求程序,人家肯定啊直接拒绝掉了,就是举个例子,到银行里面,你你穿着呃,穿着的很正常对吧,然后进去去办业务啊,这个呃,取取款呀,然后办什么业务都很正常,对吧,但是你说这个时候你弄了个丝袜套头上了,你跟他说取钱,他不我打死你对不对,所以这个时候呢,我们简简单巧妙的做一个伪章啊,不要戴那个头罩啊,这个时候的话呢,哎,要表明我们的身份,伪装一个身份啊进去所以就可以了啊好,这是关于我们当前的一个请求动信息,那么这个U人的,呃,除了这么写以外,我们还可以写成什么啊来我们这个时候呢啊给大家来看一下啊,我们点击啊到百度里面啊把这个关键字复制出来。
08:27
啊,这复制这关键字就行了,然后呢,到百度上一搜索一大堆来看一看啊第一个啊,随便找一个博客或者是内容看一下就行了哈,常见的userr n制的大全啊,我们找一下啊,这个网络稍微慢了点,好来看看一下啊呃,这里边有Windows啊,Windows里边来看Chrome的啊,WINDOW7的Chrome啊,这里边告诉你是Windows对吧?然后它当前的是PROOME14,然后firefx,就是咱们的火狐浏览器啊,火狐浏览器,然后S浏览器,就是我们当前的这个叫什么呢?我们ma克OS系统里边自带的这个S啊,还有欧浏览器啊,还有IE浏览器啊,这就是我们著名的五大浏览器生产厂商啊呃,谷歌的CH,然后火狐的这个S,然后苹果的star,还有open自己的这个啊产品啊,这是五大啊,再加上ae微软的IE啊,这是五大这个浏览器生产厂家,每一个请求头都不一样啊,都不一样啊,然后下边还有什么WIN7加A8啊,Win叉P加A8是吧,Win叉P加A7啊等等,还有遨游览器,搜狗浏览器360,呃,还有什么啊,还有这个。
09:28
是QQ浏器对吧?啊,其实大家注意看啊,360浏览器啊,和这个叫什么,和我们当前的这个叫,呃,看QQ览器吧,QQ浏览器后边写的什么,写的是chome啊,看到吗?写的壳姆这什么东西啊,这是他套了个壳,也就是说QQ浏览器,百度浏览器,他们目前呢,并不是真正的浏览器厂商,他们只是套了个壳啊,里面用的还是口姆这个浏览器的一个内核啊,一个内核对好,然后下边还有什么其他的这个阿里云浏览器,基本上啊,前五个就够你用的了啊,就五大浏览器厂商的这个这个请求图啊,就跟你用的啊,所以这个东西啊,它很长,你呢也不需要背啊,也不需要背,你只要知道这个关键词叫user-isn't啊,然后在什么时候用到它,在别人啊,别人不让我们用爬虫程序的时候,我们就要加这个头来进一个,呃,基本的简单的一个伪装啊呃,不过一般情况下呢,嗯,多数的网站呢,都不让你爬,所以这个时候呢,啊,基本上你所有的请求里面都要加上这个user engine啊,这个请求投信息啊啊,那这是我们本节课的一个内容哈,关于。
10:28
开库中的这个U啊,它的一个使用啊,各位小伙伴呢,在课后好好练习。
我来说两句