爬虫笔记(三):HTTP协议及Requests库方法

BEGIN:

爬虫系列:

爬虫笔记(一):Requests

爬虫笔记(二):爬取网页的通用代码框架

 

一、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.

posted @ 2020-11-16 21:52  Gangpei  阅读(226)  评论(0编辑  收藏  举报