crawler-03 requests库的request()方法
一、requests库的7个主要方法
二、request() 方法
requests库的request()方法是其余所有方法的基本方法,有三个参数。
1 | requests.request(method,url,**kwargs) |
1、method:请求方式
2、**kwargs的13个参数,均可选
1)params:字典或字节序列,能够增加到url中的参数,说白了就是链接的新增后缀;
例如:
1 | >>> kv={'key1':'value','key2':'value2'} |
2)data:字典,字节序列或文件对象,作为Request的内容,用于提交数据;
例如:
1 | #提交键值对数据 |
3)json:JSON格式的数据,作为Request的内容,向服务器提交;
例如:
1 | >>> kv={'key1':'value','key2':'value2'} |
4)headers:字典,HTTP定制头(模拟浏览器进行访问)
例如:把user-agent改为Chrome/10,模拟Chrome/10版本的浏览器。
1 | >>> hd={'user-agent':'Chrome/10'} |
5)cookies:字典或CpplieJar,Request中的cookie
6)auth:元祖,支持HTTP认证功能
7)files:字典类型,传输文件
例如:向某一个链接,提交某一个文件
1 | >>> fs={'file':open('data.xls','rb')} |
8)timeout:设定超时时间,秒为单位
例如:
1 | >>> r=requests.request('GET','http://www.baidu.com',timeout=10) |
9)proxies:字典类型,设定访问代理服务器,可以增加登陆认证
例如:访问百度时,使用的ip就是代理服务器的ip地址,有效隐藏用户爬取时所用源ip;
1 | >>> pxs={'http':'http://user:pass@10.10.10.1:1234' |
10)allow_redirects:True//False,默认为True,重定向开关
11)stream:True/False,默认为True,获取内容立即下载开关
12)verify:True/False,默认为True,认证SSL证书开关
13)cert:本地SSL证书路径”””
三、其余六种方法
其余六种方法都是基于request() 方法封装而成的,功能一致;但是由于不同方法有不同的常用参数,因此不常用的参数都放到了**kwargs里面。
无论是否在**kwargs里面,参数含义是一致的。
1、get() 方法
get() 方法**kwargs:12和控制访问的参数,是因为params单独拿出来了,加一起就是13个参数
1 | #完整参数 |
2、post() 方法
1 | #完整参数 |
3、put() 方法
1 | #完整参数 |
4、patch()方法
1 | requests.patch(url,data=None,**kwargs) |
5、delete()方法
1 | requests.delete(url,**kwargs) |
6、head()方法
1 | requests.head(url,**kwargs) |