粉丝2008获赞2872

我们将通过发送 http 请求来获得网页内容。 http 是 hypertext transfer protocol 的缩写,意思是超文本传输协议。 他是一种客户端和服务器之间的请求响应协议。比如说浏览器就可以被看作客户端。当我们在浏览器地址栏输入想访问的网址,按下回车后,浏览器就会向该网站的服务器发送一个请求,然后等待服务器返回给浏览器响应。 h t t p。 实际上有不同的请求方法,最常见的两种是 get 和 post。 get 主要用于获得数据, post 主要用于创建数据。比如说我们进入一个网页,浏览器会发送 get 请求,得到网页内容。当我们提交账号注册表单时,浏览器会发送 pose 请求,把你的用户名、密码等信息放到请求主体里给到服务器。由于爬成程序基本上是在获得数据,所以我们发送到请求。大部分情况下用 get 方法。除了方法类型,一个完整的 http 请求例子长这样, 他呢由三部分组成,请求行、请求头、请求体。请求行会包含方法类型、资源路径和协议版本。 资源路径指明了你要访问服务器的哪个资源。比如下面这个网址里,第一个斜杠表示资源路径的根,所以根后面的 movie top 二百五十就是要访问的资源的路径。 有时候除了资源路径,我们还可以在这里给出查询参数,比如说下面这个网址里问号后面的就是查询参数,可以传递给服务 起额外的信息,不同信息之间用 and 符号风格,比如通过 story 的参数等于七十五,豆瓣的服务器就知道, ok, 咱们返回给用户的页面,内容从排在第七十五的电影开始往后展示。 请求行里的最后一项是协议版本,指的是 http 协议的版本,比如 http 一点零、 http 一点一等。请求头会包含一些给服务器的信息,比如 host、 user agent、 accept 等等。 host 指主机域名,主机域名结合请求行里的路径资源,可以得到一个完整的网址。斜杠前的这部分是域名,斜杠后的是路径问号,后的是查询参数。 user agent 呢,用来告知服务器客户端的相关信息,比如请求是浏览器发出来的还是 其他东西发出来的,如果是浏览器的话,类型是什么,版本是什么等等。 accept 是在告诉服务器客户端想接收响应数据是什么类型的,接收多种类型的话,可以用逗号进行分割。如果是星号斜杠,星号表示啥类型都行。 最后,请求题里面可以放客户端传给服务器的其他任意数据,但是 get 方法的请求题一般是空的, 那在服务器接收到 http 请求后,他会根据所有这些信息返回 http 响应。 响应也由三个部分组成,状态行、响应头、响应体。状态行包含了协议版本、状态码、状态消息。协议版本咱们前面讲请求的时候提过,可以是比如 hdp。 一点一,状态码和状态消息则是对应的, 常见的状态码和状态消息有这些,二开头的表示成功,请求已经完成处理。三开头的表示重定向,需要进一步的操作。四开头的表示客户端错误,比如请求里面有错误或请求的资源无效等等。五开头的表示服务器错误, 比如出现问题或正在维护。我们在不小心输入错误的网址后,一般会来到一个展示四零四的页面,这个四零四就是 http 状态码。 响应头会包含一些告知客户端的信息,比如 date 生成响应的日期和时间。 content type, 返回内容的类型及编码格式, 比如 text h t m l 叉儿 set 等于 u t f 杠八,说明类型是 h t m l, 编码是 u t f。 八、最后呢,响应题里面就是服务器 想给客户端的数据内容,比如如果前面说内容类型是 h t m l, 这里就应该是 h t m l 内容。我后续会对 h t m l 进行讲解,现在先知道他大概长这样就行了。里头有非常多的间括号, 但我们要如何通过拍档就构建和发送一个 http 请求呢?又要如何获得 http 响应呢?请见下回分界,我们下个视频见。

第二个呢是我们的 post, post 是通过 post 的方式从后台请求啊,从通过 post 的方式从后台请求,那么 post 跟 get 最大的差别就是 post 的参数是放在我们的一个请求题里面的,放在请求题里面,但具体的,具体的书写呢?是这样的啊,具体的书写上的一个区别就是我们的请求依然 第一个是我们的请求的这个参数,第二个啊,请求地址,第二个是我们的请求参数,请求参数是一个对象,对象里面去挂载我们的属性,对吧?第三个参数才使我们的请求回到,那么这个接口我们现在不存在, 请求一个不存在的一个接口就会报错,四零五,对吧?来,我们请求这个接口,那这个接口好像应该也是一个呃的请求,如果写的破 请求的话,他应该也会啊,请求成功,是吧?接口告诉我们啊,请求零零二请求不成功,原因是因为没有这个,没有这个 接口,没有匹配到的一个当然这个接口,但这个报错不是说我们接口的报错,我们接口其实已经请求成功了,接口已经请求成功了,这个报错是后台给我们的一个报错,是后台给我们的一个报错啊, 好,这就是我们的 pose 请求啊, pose 请求。那其实啊, pose 请求讲完了呢之后呢,我们的这个 结块部分把我们的这个啊, ajax 部分呢,嫦娥几个方法就给大家讲完了。

学爬虫前必须先了解的基础一、浏览器发送 http 的请求过程众所周知,爬虫的前提就是先能正常访问到你要爬的网站,不出现各种四百零三请求被拒、四百零四找不到网页等报错。那么怎么避免呢?首先我们要了解一下浏览器发送请求的过程。 发送请求的方式一般分为两种, gapos 请求主要是用来向网页请求获取到数据,获取到的数据主要是展示给你看的,就比如我们点开淘宝这个网站,他给你呈现出来的各个商品就是你通过该请求访问出来的。 pose 请求主要是用来给网页发送数据,就好比淘宝的登录,你输入账号密码后,点击登录的时候就会向网页发送一个 pose 请求,网页通过你给他发送的这个账号和密码来决定给不给你登录账号。二、 atp 请求携带的数据知道了 atpp 请求的两种常用情况之 后,再说说请求的时候到底是如何携带数据的。首先你可以随便点开一个网页,按一下 f 十二,进入后台管理系统,你可以看看不同网站的嗨的都是不一样的,百度比较倾尽人意,基本没有什么嗨的数据,以后爬他数据的时候就可以简单很多。 如果有一些网站爬不到数据,就可能是网站验证了你发送请求里面的嗨的数据。如果网站验证的数据里面,你有一个是没有给他发送过去的,你就有可能获取不到数据。 比如网站可能教验了一下库品,而你正巧发送的请求中没有携带库品,那么网站就有可能给你报四百零三等错误,让你获取不到数据,懂了吗?懂了。

这节课来讲 get 请求与 post 的请求,前边已经讲了如何创建外部项目,在这个环境基础上来讲一下外部开发中的一些概念。那什么是 get 请求呢? get 请求有两种方式, 一种是通过链接直接访问, 比如下边这个链接, 它就是一个 get 请求。这种方式我们上网的时候是不是经常看到 把这样的链接放到浏览器里访问,就是在向服务器请求数据问号前面这一部分是路径,问号后边是参数, 参数,也就是我们要请求的条件。问号后边可以有一个参数或者多个参数,多个参数中间用这个符号来连接,把参数放在问号后边,这样的请求就是 get 请求。还有一种方式,通过表单请求, 最常见的就是搜索框,不管是查找资料还是购买东西,点击搜索之后,浏览器里的地址也会变成这种形式, 这就是 get 请求。当然 get 请求也可以不带参数,它的作用就是获取数据, 查询数据。那 post 的请求呢? 最常见的就是表单请求, 比如登录、注册等, 他提交的数据可以在文号后边,也可以在请求题里边,一般不会放在文号后边。我们登录的时候总没有见过账号和密码在这个地址栏里边吧。 当客户端发送过去请求,后台是怎么接受这些数据的呢? server later 有这样一个对象, request, 这个对象里有一些常用的方法,供我们获取到前端提交的数据。来看一个标题好的 server let, 读 get 方法来处理 get 的请求。那为什么前端一请求就能够访问到这个方法呢? 功劳在于启动的 tom cat, tom cat 是一个 web 服务器,也是一个 server letter 容器,我们编写着 server letter, 继承它的价包中的这个类,再来重写里边的这两个方法,请求就会进入到我们自己的实现里 来。看这个对象,他有这样一个方法,通过这个参数名就能获得到这个参数的值, 如果有其他参数,比如说密码,同样可以这样获取。这个对象是响应给客户端,当我们把请求处理好之后给客户端与反馈,我们这里只演示,什么都没做, 只是把传过来的参数直接输出到浏览器上。这是一行拼接的 h、 t、 m、 l 代码,为什么要拼接呢?因为这一部分是变量,那不拼接直接这样写, 那这一部分的内容就没办法替换了。刚学的同学可能不知道怎么拼接,比较简单的思路是这样的,刚开始的时候不用管什么变量,在双引号里直接把完整的代码写出来,再去拼 渐变了。那现在它就应该有三部分组成,第一部分是开头标签,第二部分是内容,第三部分是结尾标签,那把它们分成三部分, 这是一部分,后边是一部分,可以拼接起来,把变量也加进来, 后边接着拼接,这样就可以了。还有一点就是最外层是双引号,写属性的时候里边也需要用引号, 这个地方就不要用双引号了。如果这里也用双引号的话,那容易把他们两个当成一对双引号,语法就错误了。 那有时候不得不用双引号的时候也是可以的。 用反斜杠来转移, 放在要转移的字符的前边,只要不是开头和结尾的两个引号,中间出现的双引号都得给他转移,这样才不会错。 那有同学可能会说,我都用单用号不就行了吗?为什么要转移?因为有的数据结构是必须双引号的,比如 jason 数据,它的键必须是双引号引轴的, 那如果在加号代码里边拼接的话,就得去转移了。好了,这节课就到这里,下节课用表达来演示一下。


postman 工具使用好啦,大家好啊,我们来介绍一下啊,今天来介绍一下这个 post may 这一款工具啊,这款工具呢,它到底有什么用呢?它是一款接口调试工具,开发和测试都可以去使用啊。用这这款工具啊, 他有什么样的一个特点呢?首先第一个,他是一个图形化的操作界面啊,我给大家看一下这么一个操作界面啊。第二个的话呢,他那个保存历史的一个请求记录啊,对吧?他可以保存啊,他有一个保存的一个功能, 可以进行保存的,这里有个塞外有保存啊,可以保存历史的一个请求记录,然后的话,他能够提供这个数据级的一个管理功能啊。 然后第四第四个的话,他可以的话呢啊,和团队啊,同步接口数据,对吧?和大家共同做账。用这么一款工具啊,然后的话呢,呃,他这个安装方式是什么样子的啊?我们可以用这个地址啊,用这个地址 我们点点击打开之后的话呢,他就能够最终能够到达我们这个界面啊, 你看这样子啊,按着他的步骤一步一步的去安装啊,安装完之后啊,我们可以他举了一个例子,对吧?用这个去访问一下百度啊, 百度这个是他的一个 ui 地址,对不对啊?我们可以用用这个工具去去访问一下百度。用 get 请求啊, hgtb 三 w 点百度点 com, 对吧?这样剩的发送一个请求。好,这样的话就我们把百度这一页一页网页就就给他,给他获取到了,对吧? 你看这他的一个网页返回现在的返回出来的一些自动创啊,返回出来的一些相关的一些信息页面,网页信息,还是 tmi l 的一个格式啊, 然后的话呢?啊,我们也可以去访问这个,这个啊,这个 app 啊,啊, lock house, 对吧?淘宝首页啊, 但我们要启动这个 tp 需要部的一个服务器啊,我们这个没有装服务器啊。嗯,这个是我们的一个 poss 卖的一个安装和使用啊。 好,我们这节课呢,他最重点是要讲这个啊,讲我们 pose 卖的一个基础用法。 他首先第一个啊,就是我们的场请求中他常见的一个数据的一个传递格式是什么样子的啊?有哪几种格式啊?首先他有制服串的格式啊,也有这个表档的格式,还有第三种阶层的格式啊,这是我们的数据传递数据的一个格式啊。 啊,我们用如果我们用用 get 请的方式的话,他可以,他可以是使用的是这个返回的数据啊,他会是一个,呃,用 get 请的格式,他应该是,他是一个什么呢?他是一个这个 一个奏创的一个格式啊,我们从 ul 这个是 ul 地址后面跟一个跟一个问号啊,然后这个 这个的这个的是什么呢?这个后面就是我们的一个用户名和密码,跟在我们的 ur 地址后面,对吧?啊?这个就是用 get, 然后的话我们也可以用这个表单的形式啊,表单的话就是 post, 对吧?啊? post 啊, 他是啊,这么一个表达形式啊,和某啊,你看这个啊,还有第三一种,就是我们的用杰森的格式啊,杰森就是两个大顾号啊,然后用户名啊,密码啊,对吧, 节省格式啊,对吧?那这个里的话对应的话就是就是这个啊,就这里,你看这里的话啊,我们,我们用,如果说我们这是用 get, 这 get 的话, get 的话,你要在后面 加一个刚刚说的那个问号啊,问号一个参,一个参数啊,把参数放在这个这个 ur 后面啊,用问号去连接, 然后的话我们也可以是 pose 的, pose 的话是什么样子的? pose 的话我们就在这里有一个,这个是表单,对吧?在表单里面去填写啊,用户名和密码啊,这个这个是是我们的节省格式,直接用大顾号填写,对吧? 啊,就是这么这么一个,那个我下面具体具体的我们可以看一下下面的一个举例啊,比如说我们科目表单的一个数据 c 图啊,这个是用科目的,对吧?我刚刚写的这个,把这个值填一下啊,这看值,然后这个是他的一个 vivo, 对吧?用户名和密码。 风火表端呢,它是最常见的一个 pose 的提交的一个数据方式啊,浏览器默认的数据提交方式。第二种呢,是目前最流行的一个数据传字传输格式。那么 pose 的卖的一个基础用法是什么呢?比如说我们举个例子啊,第一个例 啊,我们提交这个支付创数据啊,提交支付算数去,我们以支付算的格式,对吧?那,那我们是好干嘛呢?我们在这个后面,比如说我们在这个问号的后面接一个参数,对吧?对不对啊? 问号后面,我刚刚刚刚,这个是刚刚,我们不是看了吗?这个 u r 后面跟一个问号吗?对吧?问后面去接一个,接他的一个参数啊,再用 get, 用 get, 一个用 get, 这这个,这这种起立的方式啊, 然后这个是你,他是这个是,这个是写的一个一个 poss 卖的一个步骤,比如说我们第一步添,点击添加请求,对吧?我们在这里有个加号,这里可以点击添加请求。那第二步的话呢?我们选择方式 get, 对吧?我们选择 get。 第三也不是干嘛呢?就是输入这个地址啊,这个把这个地址输入到这个宽里面去。第四一个的话呢啊?就是我们,我们要干嘛?我们要设置这个请求头,对吧?请求头? get 是没有请求头的啊,啊?请求头是这个啊, get 我们就不用填 好,呃,我们用玻璃的话,玻璃我们的一个请求体验,设置请求体验啊,那 get 的话 get, 你看这边 get 的话,他是没有请求投的,对吧?啊?那然后就是我们的一个请求体验 啊,玻璃请求体啊,请求体,请求体的话我们是也是,是也是没有的啊,你看一下, 看一下包里的我们的一个请求体啊,设置请 体啊,因为我们的数形体本来就是一些参数嘛,对吧?我们参数已经放在这个一二,后面,是这个也没有,也没有需要填的东西啊。然后的话呢,我们第六步就是发送,发送完了之后他会返回一个一些相关的一些数据啊, 这个就是我们的一个用用查询的方式,后面跟跟他的,你看通过这个查询自无创的方式传递搜索的关键词 iphone, 你看这个 iphone 是他的关键词, 他是在这个,在这个 ur 后面,对吧?用个问号下连接啊,然后查一查,看他的一个响应数据啊, 对吧?这个这个就是他的一个请求的,你看请他一个地址, 对啊,就这个, 这个复制不了,不能发生请求。 好,这个是举了一个用,用这个字不错的形式啊,去查询,对吧?然后第二种方式是我用表单的提交表单的数据啊,怎么去提交呢? 啊?也是一样,用这个登录接口,登录接口的话,我们是我们要干嘛?举了一个例子,我们要输入的我们的一个用户名和密码 和验证码,对吧?然后进行登录,对不对?这是他登录的一个 url, 对吧? url 啊,然后我们把这个 url 的话填到这里面去,然后用 pose 的,对吧? pose 完了之后的话呢?这个请求投,请求投,这里的话是我们的卡特,卡特,卡特,泰国,对吧? 我们的开手这个风猛,这个是表示的是我们的一个呃,请求头的一个类型,数据传输的一个类型,对吧?他,他是我们要表达的形式啊。 啊?内容类型,你看这个 content 就是内容泰国内容类型啊,我们传说的数据类型是要是要用表彰的形式去传递,然后我们的一个,呃,包里,我们的包里啊,第五步就是要设置我们的包里,我们的包里的话就是我们请求体验相关的数据啊,用户名啊,密码呀,验证码呀,对不对? 就刚好我们把这些关键信息填在里面去,填里面去的话呢?这个是第五步。第六步就我们就发送点击发送啊,发送完了之后他会给我发回一个相关的信息,对不对啊?我们要检查我们想要结果是不是两百,两百他是表示 ok 的就成功了,对吧? 这个是我们的用,我们用这个 form 的表档的形式。第三一点就是我们用这个节省的形式啊,我们不用表档,我们选择节省啊,用节省形式也是同样举的。是登登录啊, 对吧?我们去登录啊,这个是他的一个 ul 地址,对吧?我把这个 ul 停进去,对不对? 那个把这个鱼娃娃填进去啊, 对吧?沿着你的去。 填完了之后呢?填完之后的话,我们要用 post 看请求方式,这是第一个请假请求,第二个是请求方式,是 pose 的。好,这边就把它改成 pose, 然后的话呢,这个是汉的,汉的是什么呢?就是在这情投情投的话,他的类型啊,这个数据类型我们要定义一下啊,这个是什么 content, 是吧? 晚上的太婆啊,这个是 appeekasha, 对吧? 街上对吧?他是街上的格式啊,看一下是吧?他是用街上的格式啊,然后设置完了这个之后的话呢?我还要设置我的群体啊。 第五个我们要设置 一下我们的请求题,对不对?请你在这里玻璃,在玻璃这里设置啊,这里把这一张这个放到放到这里面去,比如说我们设置我们请求体啊,你体的话呢,是这样子的,我们用的是结实的格式,就用就用,就用这个软啊。好,我们把我们的请求体把它放进去,对吧? 别说么办, 你看啊,这个是幺三八啊,七个零,一个二, 然后是密码,怕是 word 是吧? 密码的话四二七一二三四五六,对吧?好,这个的话我们的一个请求体就填完了,填完了之后我们再点击发送,点击他的一个发送,对吧?你看他就返回了一些相关的一些相关的信息啊, 但是他是四零四,四零四就表示有问题啊,对吧? 两百表示成功啊,四四开头的是表示这个福气有问题,对不对啊?他只有返回这个数据才叫成功 啊,看到没,这也是我们仿仿飞的一些状态码啊,状态码是四零四,对吧?没有找到, 没有找到,没有发现数据啊,这发现了一个一个 bug 啊,好,这个就是我们的一个 pose 特麦的一个使用啊。嗯,然后我们再总结一下啊, 就是说我们,我们,我们要接口测试啊,大概的一个手工测试,我们大概已经讲完了啊,从我们的一个 啊,我们的一个这个 ipi 文档的一个解析,然后我们怎么样去设计啊?根据 ipi 文档解析出来的一个有用信息去设计我们的一个测试用力啊,当然了,在设计测试用力之前,我们要 啊用这个参卖的啊,去画一个我们这个的一个测试大纲,对吧?把一些把我们 apl 的一些关键信息给他提取出来,放到那里面去啊,然后呢?画呢?然后的话再用我们一个赛尔去把这些啊,把 这些插板的时候填填写的一每一行都把它啊放到里面,我们的这个一个赛里面去,变成我们的测试用力啊,把它西化成测试用力啊,这是我们测试用力啊,这个测试用力,当然这个测试用力的话呢 啊,他是有这个有异常和正常的,你要考虑两种异常和正常产品,对不对啊? 都是一样的和那个啊,然后的话啊,我们在我们第二个就是我们家能够啊,设计啊,我们当接口,一个接个接口测试用力啊,就是当个比如登录啊,我们也能设置一个业务场景结构,就是 就比如说我们从登录到我们下单购买,对吧?查看订单啊,这一个过程就是我们又场景的一次,兄弟,对吧?然后呢,我们也能够就用这个 post man 去设置请求方法, uil 请求头,请求提议,就刚刚我们讲的啊,用 uil 这个工具,去 去去,去测试,去手工去测试啊,去查看我们详细数据,那么你能掌握这些,你基本上就已经掌握了一个接口测试的一些最最基础的一些方法了啊,下面是一些题目,对吧?啊?参与这些题目啊, 这题目的话呢,你看我们第一个,我们我们他下面有列列了一些题目啊,到时候咱们一个一个去去讲这题目怎么做的,对吧? 除了学会理论之时,我们还是要去实操,真正的去实操一下,去设计一下测试用力。好了,我们这里课就讲了这些吧。
