【python爬虫】了解http协议
HTTP协议
协议:就是两个计算机之前为了能够流畅的进行沟通而设置的君子协定。常见的协议有TCP/IP,HTTP协议,SMTP协议等等…
HTTP协议:Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。简单来说,就是浏览器和服务器沟通所要遵守的基本礼仪。而我们在浏览器看到的页面所用的代码叫做超文本标记语言,结合起来,其实我们就可以简单说,这个HTTP协议传送的就是我们的HTML源代码。
HTTP协议把一条消息分成了三大块内容,因此,无论是请求还是响应都是三块内容。
请求
请求行 -> 请求方式(get/post)请求url网址 协议
请求头 -> 放一些服务器要用到的附加信息
请求体 -> 放一些参数请求(重要)
打开开发者工具,选择服务器返回的html源码,我们在headers标签下就能发现
上面的信息中也包括了我们所需要请求的网址,编码,还有cookie等等,其中User-Agent里面存放的是我们所用的浏览器信息,以及他的版本,在我们进行爬虫的时候,这个参数是一定需要进行设置的。
请求头中最常见的一些重要内容
- User-Agent:请求载体的身份识别(用什么发送的)
- Referer:防盗链(这次请求是从哪个页面来的)
- cookie:本地字符串数据(用户的登录信息,反爬token)
响应
响应行 -> 协议 状态码
通过状态码来判断此次请求是否出问题,比如404,200等
响应头 -> 放一些客户端要使用的附加信息
响应体 -> 服务器返回客户端真正要使用的内容(html,json)
打开开发者工具,选择服务器返回的html源码,我们在headers标签下就能发现
响应头中最常见的一些重要内容
- cookie:本地字符串数据(用户的登录信息,反爬token)
- 各种奇怪字符串(一般为token字样,防止各种攻击和反爬)
请求方式
GET
查询东西的时候采用,比如说我们在百度翻译上查询dog这个单词,那我们向百度翻译发送请求的方式采用的就是GET。
POST
我想对网站的内容进行更改,或者就是我想往服务器上传一些东西,例如图片,文章等等,那我们采用的就是POST请求方式。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了http协议的相关内容,这一部分只做简单的了解,做爬虫我们只需要了解到,哪些东西是我们所需要的即可,本文所附图片都是利用开发者工具里面的内容。