HTTP协议及Requests库
HTTP协议
什么是HTTP协议呢?
HTTP(Hyper Text Transfer Protocol)<超文本传输协议>的缩写.是用于从WWW服务器传输超文本到本地
浏览器的传输协议
- HTTP是一个应用层协议,由请求和响应构成,是一个标准的个客户端和服务器模型.它的主要特点如下:
- 支持客户端/服务器模型
- 简单快速
- HTTP协议采用URL作为定位网络资源的标识
URL网络格式
URL格式 http://host[:port][path]
host: 合法的Internet主机域名或IP地址
post: 端口号,缺省端口为80
path: 请求资源的路径
HTTP URL 实例:
htp://www.bit.edu.cn
http://220.180.111.188/duty 表示IP为220.180.111.188的主机下的duty 目录
HTTP协议对资源的操作:
方法 | 说明 |
---|---|
GET | 请求获取URL位置的资源 |
HEAD | 请求获取HEAD位置的资源信息报告,即获得该信息的头部资源 |
POST | 请求向URL的资源后附加新的数据 |
PUT | 请求向URL位置储存一个资源,覆盖原URL位置的资源 |
PATCH | 请求更新URL位置的资源,即改变该处资源的部分内容 |
DELETE | 请求删除URL位置的储存的资源 |
Requests库
下表为requests库的主要方法:
方法 | 说明 |
---|---|
requests.request() | 构造一个请求,是支撑一下方法的基础 |
requests.get() | 获取HTML的主要方法,对应HTTP的GET请求 |
requests.head() | 获得HTML网页头信息的方法,对应THHP的HEAD |
requests.post() | 向HTML网页提交post请求,对应HTTP中的POST |
requests.put() | 向HTML网页提交put请求,对应HTTP中的PUT |
requests.patch() | 向HTML网页提交局部修改请求请求,对应HTTP中的PATCH |
requests.delete() | 向HTML网页提交删除请求,对应HTTP中的DELETE |
requests库主要由以上7个方法,下面我们来一一详细介绍一下这几种方法:
- requests.request(method,url,**kwargs) 是基础
mothod:请求方式:(7种)
r = requests.request(‘GET’,url,**kwargs)
r = requests.request(‘HEAD’,url,**kwargs)
r = requests.request(‘POST’,url,**kwargs)
r = requests.request(‘PUT’,url,**kwargs)
r = requests.request(‘PATCH’,url,**kwargs)
r = requests.request(‘DELETE’,url,**kwargs)
r = requests.request(‘OPTIONS’,url,**kwargs) 向服务器获取一些参数,一般不用
url:获取网页的url连接
kwargs:控制访问参数,共13个
params:字典或者字节,作为参数增加到url中
例如:
>>>kv = {‘key1’:‘value1’,‘key’:‘value2’}
>>>r = requests.request(‘GET’,‘http://python123.io/ws’,params = kw)
>>>print(r.url)
http://python123.io/ws?key1 = value1&key2 = value2
HTTP协议与Requests库
HTTP协议方法 | request库方法 | 功能一致性 |
---|---|---|
GET | requests.get() | 一致 |
HEAD | requests.head() | 一致 |
POST | requests.post() | 一致 |
PUT | requests.put() | 一致 |
PATCH | requests.patch() | 一致 |
DELETE | requests.delete() | 一致 |
HTTP协议方法与request库方法的方法是一一对应的
以上即为本节的全部内容,感谢大家的阅读,希望对你的学习爬虫有所帮助!
提示学习来源:北京理工大学慕课