python爬虫知识梳理——HTTP协议(响应)

三、HTTP响应

1、一个完整的请求可以分为响应行、响应头 、响应数据

    1.1 响应行

        响应行又可以分为协议版本、状态码、状态描述。

        协议版本并非一定会对应请求的版本。

        状态描述简短的描述了状态码,其中常用的状态码有200(响应正常)、404(页面找不到)、502(服务器内部错误)。开发爬虫的过程中经常还会见到302(重定向)、403(禁止访问)。

        下图为一个HTTP响应行

        

    1.2 响应头

        响应头同请求头一样为key-value,其实响应头和请求头可以合称HTTP头 。

        HTTP头部字段有的为请求和响应通用,有的为其一单独使用。

        下图为一个HTTP响应头

        

    1.3 响应数据

        响应数据经过浏览器渲染就变成了我们看到的网页。但其实响应数据并非只有html一种格式,还可以是json、图片的二进制流等等。

        在编写爬虫的时候,特别希望能够响应json,因为json格式对简单明了啦,据说json标准的制定者在制定json的时候就说:json足够简单有效而不需要再次更新,所以json并不像其他的网络标准一样有版本号。

         json格式可以通过requests直接解析,或者可以通过原生json库解析。html可以通过beautifulSoup或者lxml解析(前提是对html语言及xpath有所了解)。当然还有正则表达式来解析。

         由于响应数据太长,这里就不截图了。

 

 

总结一下,我们会发现HTTP协议足够的简单(这也是HTTP在前期能迅速发展的前提),甚至可以基于socket自定义请求和解析响应。

      

新开公众号“码家村”,欢迎关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值