爬虫笔记(三):HTTP协议及Requests库方法
BEGIN:
爬虫系列:
一、HTTP协议概念
HTTP协议(Hypertext Transfer Protocol):超文本传输协议。HTTP是一个基于“请求与响应”(用户发出请求服务器响应请求)模式的、无状态(每次请求间没有相关关联)的应用层协议。HTTP协议一般采用URL作为定位网络资源的标识。
二、URL
URL格式 http://host [:port] [path]
host:合法的Internet主机域名或IP地址
port:端口号,缺省端口为80
path:请求资源的路径
HTTP URL:URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。
三、HTTP协议对资源的操作(六个):
GET :请求获取URL位置的资源;
HEAD :请求获取URL位置资源的响应消息报告,即获得该资源的头部信息;
POST :请求向URL位置的资源后附加新的数据(追加)
PUT :请求向URL位置存储一个资源,覆盖原URL位置的资源(覆盖)
PATCH :请求局部更新URL位置的资源,即改变该出资源的部分内容
DELETE :请求删除URL位置存储的资源
每一次操作独立无状态,每次操作无关。
四、理解PATCH和PUT的区别:
假设URL位置有一组数据UserInfo,包括UserID、UserName等20个字段
要求:用户修改了UserName,其他保持不变
1)采用PATCH,进项URL提交UserName的局部更新请求。
2)采用PUT,必须将所有20个字段一并提交到URL,未提交字段被删除。
PATCH的最主要好处:节省网络带宽。
五、HTTP协议与Requests库方法
HTTP协议 与 Requests库方法所实现功能一一对应(一致)。
GET requests.get()
HEAD requests.head()
POST requests.post()
PUT requests.put()
PATCH requests.patch()
DELETE requests.delete()
1、Requests库的head()方法
用head()方法去访问一个链接,可以用r.headers来展示获取的头部信息内容,当我们试图展示其全部内容,用r.text时,发现内容为空。由上,使用head方法可以用很少的流量获取网络资源的概要信息。
2、post()方法:向URL POST一个字典自动编码为form(表单),即字典或键值对会默认的被存储到表单的字段下;向URL POST一个字符串自动编码为data,即字符串默认存储到dada字段下
3、put()方法:与post()方法类似,只是会覆盖原有相应字段的内容。
END.