00:00
Hello,大家好,欢迎大家来到学习园地啊,那么我们本节课呢,来继续学习一下啊,我们关于网络请求的这一部分,那么打开我们的课件,我们来看一下关于request库的一个post的请求,目前我们给大家讲过了一个get请求和request一个安装啊,包括如何发送请求,以及添加了这个请求头,对吧?那我们来看一下如何发送一个呃,Post的请求,那么当然了,在这之前呢,我们先找一下啊,什么样的需要我们发送一个post请求,那么在这个地方呢,我们打开这个百度啊,翻译第二。百度点com啊相信小伙伴呢,呃应该也用过这个工具,对吧?那么在这个工具里面我们可以做什么,可以做一些翻译呃这样的一个工作,对吧?比如说我在这里说一个呃输入一个你好,然后它会自动呃检测,然后你点击翻译以后呢,然后你点击翻译,诶怎么没出来,诶他这个网站有点问题啊来刷新一下。啊,这里输入你好啊对它这位的啊,那我们在这两个发送你好之后呢,它这里呢,就是给翻译的时候那个hello,或者说你在这个地方呢,啊输入hello呢。
01:08
那么呃,基于这个百度翻译的这个工具啊,那么大家可以看到啊,我们在这个地方去输入我们的呃内容的时候,页面中并没有做刷新啊,或者是跳转之类的东西,它在这边呢,直接就翻译出来,那么这种呢,网页技术教程呢,叫做阿列克斯,也就是说它使用的是阿里克斯,监测到你当前的这个输入框里边的内容发送变化以后呢,他就把这个内容发送啊,到这个百度翻译的这个后台的这个呃一个地址里面去,然后呢,那边把这个翻译后的结果呢,可以返回,并且把这个结果哎放到我们这个显示的区域,那也就是说它使用的是阿Le克技术啊,那么我们这个时候怎么做呢?哎,来右键点击空白处,我们点击检查。嗯,世界好,那么大家可以看一下啊,我在这里呢,输入了一个世界啊,当然它翻译的不是特别准确啊对,然后呢,呃,后面这边呢,发了一堆的请求数据去啊,发了一堆的请求,我们来看一下啊,找一个看一下这个位置,呃,翻译的没有结果。
02:09
我书啊书,你好你好。对吧,啊一个你好,然后我们往下看看这个求啊,然后这边接省格式的字符串,然后我们在这里呢,用它呃显示一下,诶看这位得啊,它返回了一个呃数据啊,就是这个里面呢,首先它整体是一个接省啊,然后这个里面呢,有一个啊,有一个关于这个就说这个中文的信息,然后和相关的这个词义啊,以及它返回的这个位置是谁呢?是面那是上面的些对不对,好,那么我们再去找一下啊,看还有没别的啊,有没有其他的相关的这个内容啊,我们这呃翻来的我们去一下。嗯,在这边,呃,拼音你好是吧?呃,然后呢,有没有翻译成英文的,我们去找一下有没有翻译成文的啊,我们找到之后啊,就可以来做一个操作了哈,呃,好度,我估计它翻译的应该是下面那个。
03:11
然后。再去找,再去找下。没有别的了吗?我们想找到我们想要的这个,嗯,其实就是关键词,它后面的这个这个结果啊。这个不确定。在哪个位置啊,标签啊标签,然后翻译的结果,诶,它上面有个哈,没有看到在具体哪个位置啊,大家可以一起找一下啊。嗯。看一下这个你好,其实无谓,因为一些这个。他。数据里边啊,目前还没有我们。想要的这个内容啊,想要的这个内容我们去再去找。
04:01
有没有其他的,如果没有的话,我可以拿刚才那个来做一个实验。好,没有没有。嗯,这个可以好,那这样吧,我们就用这个。就刚才他发送的这个叫sug的这个请求地址啊,然后呢,主要是我们要看一下他发送的请求方式啊,来这个位置啊,这是一个啊你请求的地址,然后这个位置呢,告诉你是他请求的一个方式,它用的是post的请求对吧?然后呢,下边啊,下边的一个叫做呃,Request heads,你当前的请求信息啊,请求信息里面呢,还有一些啊,Userr,诶,Userr engine啊在这个位置对吧?啊有这些信息,那也就是说这个时候呢,要发送一个POS请求,POS请求呢,那我们要需要看的是我们的这个内容参数还有哪些,那下面呢,还有一个叫form。啊,那这里边有个KW就是呃,输入的一个关键字,那么你输入你好啊,那么在这边呢,哎,把这个词义呢,给你过来啊过来啊回之后这位看到啊,你好啊,然后后这个叫做对吧,然后我们看一下有。
05:02
嗯。嗯,K你好,嗯,然后这个内容好其实也可以啊,我们拿到这个就可以了啊,拿到这个就可以了,好,那这样的话,我们来现在呢,是使用的我们这个叫做呃,使用的我们的呃浏览器啊浏览器帮我们发送的这个请求,发送了一个阿里克应九啊,然后以POS的方式来发送的啊那么阿里克斯其实也是很简单的,就是呃,在页面不刷新不加载呃不重新加载的情况下呢啊发送一个请求,这是属于一个前端的相关技术啊,但是原理都一样的,它都是使用通过STP协议发送的请求啊,并且呢,请求方式无非就是get或对吧啊然后还有一个状态码,然后呢,得到我们要内容,那么呢,我们来拟一下啊,这个过程如何去实现我们C。
06:06
哎,我这个中文他为什么跑偏了呢。啊,复杂。是中到请求啊,请把它定义下啊,定义完以后啊,然后我们这边呢,首先第一步啊,第一步port去导入我们的request试试包啊,然后第二步呢,定义一个请求的UR,来这里去定义请求的UR。R这个R能打出来。就很奇怪。请求的URL。诶,我这个输入法有问题吗?好,那我们再看看一下URL。哎,我这个R输不了吗?好先定一个U啊,然后把这个地址给粘过来好吧,啊然后接下来呢,第呃下面一步呢,是定义请求对吧,我们要有请求和定义请求,那么这个请求我们定义成等于一个。
07:14
呃,这个叫字典对吧,字典字典里面呢,呃,具体内容暂时先不写啊,我们会可以把我们写那个先过来好,那下面第步是请对吧,发请发请么?原来呢,我们发请的方式就等于是拿我们的这个点用发请对那么。我们这一次呢,要求的这个UR呢,是以POS的请求方式发送的,所以这个呢是一点的,那么大家可以看到啊,它有一些关键数据,那么第一个呢,就是关于它的这个URL。呃,大家可以看到,应该是我这个编辑器有问题啊,它这个地方应该是有一个R关键字的啊,结果显示不了啊,显示不了到时候我再去调整一下啊好,我们这里呢,可以把这个U传进来,做第一个参数,也就是我们的URL对不对啊,URL等于我们的U,好然后接下来第二个啊,我们的head我们也需要传递对吧,可以传递head啊he的话呢,我们先把呃呃这个上节课啊定义的这个先给它粘过来。
08:10
放到这个位置。好,那么接下来有了以后啊,第三个关键数据啊,就你当前发送的关键字啊,就是发送时的数据啊,就post。发送的数据,发送的数据的数据啊,发的数据啊,那你这里呢,我可以把它定义成这个叫啊数据,我们把它定义成对,然后呢,这里面要求呢,是一个嗯关键字对吧?好,那我们这样啊来KW它要求是一个KW关键字对吧?然后呢,这里面我就输入啊叔您好,然后把一个关键字传递到我们的对应的这个方法里面来。啊,等于我们的好请求发送成功以后。后面就是我们来收返回数据。返回啊数据啊,那么怎么接收呢?啊,我们先来一个先看它的状态码啊好,我们再直接来一个啊,看一下我们的叫res啊,然后同时呢,打印一下它的结果对吧?SR呃。
09:17
T吧啊来看一下它的内容,好,我们来检查一下啊呃,这个位置呢,是我们当前的一个请求,对,然后这边呢,是定义的请头,下面呢是定义请求时呃发送时,呃请求时发送的这个po的数据,然后下面呢,以po的方法,呃调用这个方法呢,对应的把UR传递过去,把head和对的数据啊通通都传递,然后接下来呢,接收一下返回的数据啊那么我们运行一下这个脚本,看一下它的运行结果,来点击运行。好,看这边啊,看这边那已经已经成功了啊好,首先第一个200OK,就是证明它已经返回了正确,好然后后面这位呢,哎,大家会看到这个,呃,什么杠U4F60-U597D对吧?好,那这个东西是什么呢?是我们的中文,我们包含中文的这个字符,如果用接省进行解析之后啊,那就是显示的这种格式啊UDI8的这个直播集,好然后后面这位置啊,英文都是正常显示的,包括数字对吧?好,那也就是说它返回的是个什么呢?它对我们来说返回的就是一个阶层数据对不对啊,层数据的话,我们可以用另外一个方法啊,另外一个方来看一下print啊叫SDR接省,我们看一下能不能用接省来接收我们的这。
10:22
好来运行处理。大家看一下啊,这次是不是没问题了啊,没问题,也就是说我们原本哈是把它当成一个文本处理,但是它本身反馈的是一个层,所以你要用来接的话,诶,返回的结果就是正好是我们需要的,而且是我们能处理的,它的类型就是一个字典啊,那很明显这样的反复数据是我们想要的对不对?好,那么想要的这个数据里面呢,我们要提取啊,提取什么呢?啊,大家也可以看一下啊呃,如果等于零就证明成功了,对不对啊,然后S如果等于200也是OK的,所以这个位置呢,来我在这里呢,稍微啊把我们的代码呢再调整一下啊,Code等于我们的一个状态码,并且呢,做一个判断,If判断,如果它的code等等于200,那么这个时候哎,我们print。
11:04
请求成功对吧,请求叫做请求。成功请求成功以后啊,再判断他当前的这个I阶层里边的这个这个这个ER no啊,就是ever的一个编号啊,如果为零去证明也是成功的啊,响应成功啊好,那么这个位置怎么办呢?再做判断if。嗯,当然我把数据我们接一下吧。嗯,从这里吧,拿这个date啊,Bata重新接收啊,啊res.g son啊接收一下,然后下面呢,做判断衣看到啊,判断我们date中括号里边的啊datata中号里边的ER no sorry啊我们应该用字符啊ER no,那好,它的结果如果等等于零啊,那证明我们是吧,响应成功啊,响应成功响应诶响应响应成功的啊是指啊其实第一个就是也是响应成功啊,只不过就是呃,我们判断它当前返回的这个数据啊,也是成功的啊所以呢,下一步呢,我们就把这个数据给解析出来,那么它这个date啊里面是一个字典啊,它是首先是一个列表,列表里面的是字典对吧?好,那么我们可以看啊你好的这个单词啊,应该是最后一个。
12:19
呃,K和V。V里面的什么呀,最后一个我们怎么提取这个内容啊,怎么提取这个内容,我们来看一下,呃下面呢,Print输出,呃,输出一下我们的date sorry啊,Data啊date,然后中号里边的数据啊,然后呢,中号零是第一个元素啊,对吧?它因为它是个列表嘛,列表的第一个元素,然后列表元素中的第一个的这个K就是我们当前的。啊,这个叫输入的内容对吧?啊好,然后呢,对应的V是什么啊,V是什么呢?哎,V就是我们上面的一个内容啊这个,那么如果我们输入V的话,他会把这个信息全部返回吧,那实际上我们想的是想的是最后一个。
13:02
对吧,最后一个的话,大家可以看一下啊,在这个内容当中,我们如何在这样的一个字块当中提取最后一个单色啊,提取最后一组单色啊,怎么做呢。我们可以把这个内容进行一个呃,切片的处理啊,就是把它切成就是首先它整体呢是一个字块对吧,整体是一个大的字块啊,然后把这个字块呢,按照分号来进行分割处理成列表,我们获取最后一个。好,那我们来看一下啊,这样我把它这个内容嘛,呃,复制给一个变量,就是我们刚才拿到内容对吧,好拿到了这个内容以后。我们再进行处理就是呃,v.SP。呃,T,是的。嗯。这个单词怎么老是显示不了。B的,然后把我们V。放进来,然后点啊,Sorry啊,现在是把我们的号放进来啊,然后呢,再点弹出最后一个啊,那我们接下来呢,测试一下,看看是不是有我们想要的数据来运行中面。
14:07
好,但这个信息并没有对吧,并没有信息,这好也可以的,我把这个。信息啊,可以打印出来,对来我们看一下运行中。好,没有问题,但是我这个字号的处理出了问题啊,我们看一下date中号零里边的V,然后呢,把它进行一个处理V点。啊,我们这个单词写错了吗。稍等我看一下啊SP。没有结果。啊,那我把下边的这个先删掉,我们来运行一下,看看有没有什么问题,运行总体。
15:00
已经处理了,但是最后一个不对是吧,刚才取的是最后一个,这个问。啊,他是把后边的也拿掉了,对吧?啊把后边拿掉的话,我们提取倒数第二个。啊,那的应该是负。负一是最后一个对吧。来进行说。好哈,是不是就OK了啊,那这个位置它已经已经可以了啊,已经可以了,我们把这个数据删掉,好或者说我们可以我看一下啊,我可以把这个内容呢,换成我们的呃,变量就说V啊,这个K等于它。啊,然后呢,下边打印的时候呢。呃,我们进行一个处理。进行一个处理,把它放到这个位置来。啊,然后呢,下面打印的时候呢,我就变成这么打了啊然后呢。策划。周上相等于啊,然后呢,V好,我们来测试运行。
16:00
嗯,好这就可以了,对不对啊,翻译成功啊,请求成功,享用成功,然后翻译的结果也是也是正确的对吧?啊,中间这个空给它干掉就可以了,好,那这样的话来大家注意看啊,其实核心不是这一点,核心在于我们刚才所讲所讲的,我们这一次是要用POS的发请求,那我们来再来看一下我们当前的个请求啊,好请求的第一个是你整个地址是什么啊,第二个是关于你的请求的信息,第三个是你要准备好你POS的这一次请求时所要发送的这个数据啊,然后下面呢,还有一个发送的请求啊,发送请求,发送请求的时候呢,如果我们是盖的请求,我们就用盖的,如果是po损的请求,我们就点六就可以了,然后对应的呢,把这些参数啊都给它对应写好,那么剩下的就是接收返回的数据,那么接收的返回数据呢?啊,我们也给他家那个第一天也给大家看了来看第一个啊,如果是res啊,我们可以直接能打印出来它的一个状态对吧?啊那但实际上它这果是一个对象啊ste,然后code呢,是请求的一个状态码,呃,Connect呢是二进制的文本流,呃,Text是获取响应的一个呃内容,而且它是一个普通文本对吧?那么UR呢,是你的请求地址,然后包括请求图信息和响应图信息对吧?啊唯独我们。
17:00
没有说接省,为什么呢?因为我们在那个时候呢啊,大家还嗯,可能还不太去呃清楚说我们怎么得到这个接生的数据啊,所以在这里面呢,一开始我是用这个叫呃T方式来进行获取,获取之后呢,我们发现它是一个接省啊,接省的话,我们就可以直接用呃调用这个对应的这个接省方法来进行处理啊,如果不不这么做啊,如果不用这个接省方法,我们还需要导入我们自己的接省的包,然后再进行处理才行啊,所以这里呢,可以直接拿来用啊,就比较方便了啊,比较方便了。好,那大家可以看到我们本节课的这个内容呢,就是用POS发送请求。然后发送的是一个啊,百度翻译的这么一个,呃,这么一个功能啊,那么它在这里呢,输入内容以后啊就可以啊,就可以响应一个对应的啊内容啊响应对应内容好,那么在这里呢,我给大家呢,也留一个小小的作业,那么大家听我讲这个里面呢,我现在所输入的内容啊是。我写好的一个中文对吧,我们就做一个中文翻译成英文对吧?好,那么下一次你要做成什么呢?你把这个稍微改造一下,改造成当一运行这个脚本的时候呢,在这里让你输入一个文字啊,比如说中文后的一个单词啊,你你输入中文之后呢,最后反馈的结果是翻译后的结果啊,这个呢,大家思考一下怎么去实现好吧?啊,大家多动动手啊呃,我相信大家应该,呃,如果你有一个比较好的这个派遣基础的话呢,那这个问题应该不大对吧,也就说我们的这个翻译啊,也可以自己做就可以了啊当然了,在这里呢,也提醒大家一下关于这个翻译啊,然后呢,百度呢,也给你提供了一个,呃,专门的这个叫翻译的这个呃API你也可以拿来用啊,就是你可以不用它这个,它下边不有呃,百度翻译的开放平台嘛,啊,你也可以去注册,然后呢,来使用它这个操作就可以了,你看它这里有个技术文档,还有对应的使用方案,然那我们看一看不登录能不能写换。
18:39
集中的啊,这里边告诉你了啊,怎么去使用对吧?啊然后呢,呃,看下离线翻译在线翻译啊,拍照翻译啊应该呃应该会免费啊,应该会免费,他具体收入费用不太清楚啊,也当我感觉应该会免费,对大家有空的话呃,有兴趣的话呢,也可以使用他直接开放的这个API好了,那那这一节课呢,就是我们使用这个爬虫工具啊,以post的请求啊,利用我们百度的啊这个方法啊,这个请求链接来实现啊,我们的一个呃,中文翻译成英文的这样的一个小小的功能啊,那么重点呢,是关于POS当前的一个呃请求的这个使用好了,那么本节课就到这里再见小伙伴。
我来说两句