1.7~1.8学习笔记

requests.request()构造一个请求,支撑以下各方法的基础方法

requests.get()获取HTML网页的主要方法,对应于HTTPGET

requests.head()获取HTML网页头信息的方法,对应于HTTPHEAD

requests.post()HTML网页提交POST请求的方法,对应于HTTPPOST

requests.put()HTML网页提交PUT请求的方法,对应于HTTPPUT

requests.patch()HTML网页提交局部修改请求,对应于HTTPPATCH

requests.delete()HTML网页提交删除请求,对应于HTTPDELETE

下面六个都是通过调用第一个函数来实现的

r = requests.get(url)

构造一个向服务器请求资源的Request对象

返回一个包含服务器资源的Response对象

requests.get(url,params=None,**kwargs)

url:拟获取页面的url链接

paramsurl中的额外参数,字典或字节流格式,可选

**kwargs12个控制访问的参数

Response对象包含爬虫返回的内容

Response对象的属性:

r.status_code HTTP请求的返回状态,200表示成功,404(其他)都表示失败

r.text HTTP相应内容的字符串形式,即,url对应的页面内容

r.encoding HTTP header中猜测的响应内容编码方式

r.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式)

r.content HTTP响应内容的二进制形式

如果header中不存在charset,则认为编码方式为ISO-8859-1

encoding不能正确显示内容的时候就应该使用apparent_encoding

Request库异常:

request.ConnectionError 网络连接异常

request.HTTPError HTT 错误异常

request.URLRequired URL缺失异常

request.TooManyRedirects 超过最大重定向次数,重定向异常

request.ConnectionTimeout 连接远程服务器超时异常

request.Timeout 请求URL超时,超时异常

HTTP 超文本传输协议

URL格式 http://host[:port][path]

host:合法的Internet主机域名或IP地址

port:端口号,缺省端口为80

path:请求资源的路径

HTTP协议对资源的操作:

GET:请求获取URL位置的资源

HEAD:请求获取URL位置资源的响应消息报告,即获得该资源的头部信息

POST:请求向URL位置的资源后附加新的数据

PUT:请求向URL位置存储一个资源,覆盖原URL位置的资源

PATCH:请求局部更新URL位置的资源,即改变该处资源的部分内容

DELETE:请求删除URL位置存储的资源

如果是要修改一组数据中的一部分字段,用PATCH只需要向URL提交该部分局部更新请求,如用PUT必须将整组数据的所有字段一并提交到URL,未提交的字段将会被删除

PATCH最主要好处:节省网络带宽

HTTP协议与Request库功能一致

**kwargs:控制访问的参数,以下为可选项:

params:字典或字节序列,作为参数增加到url

data:字典、字节序列或文件对象,作为Request的内容

jsonJSON格式的数据,作为Request的内容

headers:字典,HTTP定制头

cookies:字典或CookieJarRequest中的cookie

auth:元组,支持HTTP认证功能

file:字典类型,传输文件

timeout:设定超时时间,秒为单位

proxies:字典类型,设定访问代理服务器,可以增加登录认证

allow_redirectsTrue/False,默认为True,重定向开关

streamTrue/False,默认为True,获取内容立即下载开关

verityTrue/False,默认为True,认证SSL证书开关

cert:本地SSL证书路径

requests.head(url,**kwargs)

requests.post(url,data=Node,json=None,**kwargs)

requests.put(url,data=Node,**kwargs)

requests.patch(url,data=Node,**kwargs)

requests.delete(url,**kwargs)

Robot协议:决定哪些内容可以被爬取

猜你喜欢

转载自blog.csdn.net/qq_39380075/article/details/79008469