Requests库的学习笔记
requests.request(method , url , **kwargs)
method:请求格式
url:拟获取页面的url链接
params:url中的额外参数、字典和字节流格式
**kwargs:12个控制访问参数
method:请求格式
(共七种方法)
r = requests.request('GET' , url , **kwargs) #表示获取
r = requests.request('HEAD' , url , **kwargs) #表示获取头部
r = requests.request('POST' , url , **kwargs) #表示在url后面添加提交参数
r = requests.request('PUT' , url , **kwargs) #表示对url路径下的所有内容进行覆盖或更新
r = requests.request('PATCH' , url , **kwargs) #表示对url路径下的各别数据进行更新覆盖
r = requests.request('delete' , url , **kwargs)#表示删除url路径下的某个数据字段
r = requests.request('OPTIONS' , url , **kwargs)
这里的options是指向服务器获取一些服务器和客户端之间能够打交道的参数(并不与获取资源直接相关)
**Kwargs:控制访问参数,均为选项
params:字典或字节序列,作为参数增加到url中
data:字典、字节序列或文件对象,作为Request的内容
#data:字典、字节序列或文件对象,作为Request的内容
ka = {'key1':'value1','key2':'value2'}
r = requests.request('POST','https://python123.io/index',data=ka)
body = '主体内容'
r = requests.request('POST','https://python123.io/index',data=body)
Json:json格式的数据,作为Request的内容
#json:JSON格式的数据,作为request的内容
kc = {'key1':'value1'}
r = requests.request('POST','http://www.baidu.com',json=kc)
headers:字典,HTTP定制头
#headers:字典,HTTP定制头
hd = {'user-agent':'Chrome/10'}
r = requests.request('POST','http://www.baidu.com',headers=hd)
#此时服务器收到的HTTP头的user-agent是Chrome浏览器的10版本
cookies:字典或cookies,Request中的cookie,从HTTP协议中解析cookies
auth:元组类型,支持HTTP认证功能
files:字典类型,传输文件
#files:字典类型,传输文件
fs = {'file':open('data.xls','rb')}
r = requests.request('POST','http://www.baidu.com',files=fs)
timeout:设定的超时时间,秒为单位
#timeout:设定的超时时间,秒为单位,如果请求内容在时间内没有返回回来,那么则返回一个timeout的异常
r = requests.request('GET','http://www.baidu.com',timeout=10)
proxies:字典类型,可以为爬取网页设定访问代理服务器,可以增加登录认证,可以有效隐藏用户爬取网页源的IP地址
#proxies:字典类型为爬取网页设定访问代理服务器,可以增加登录认证
pxs = {'http':'http://user:pass@10.10.10.1:123456'
'https':'https://10.10.10.1:4321'}
r = requests.request('GET','http://www,baidu.com',proxies=pxs)
allow_redirects:True/False,默认为True,重定向开关,表示允不允许对url进行重定向
stream:True/False,默认为True,对获取内容立即下载开关
verify:True/False,默认为True,认证SSL证书开关
cert:本地SSL证书路径