文章目录
- 一、Requests库的7种主要方法
- 二、kwargs:控制访问的13个参数
一、Requests库的7种主要方法
序号 | 方法 | 说明 |
---|---|---|
1 | requests.request(): | 提交一个request请求,作为其他请求的基础 |
2 | requests.get(): | 获取HTML网页代码的方法 |
3 | requests.head(): | 获取HTML网页头部的方法 |
4 | requests.post(): | 向HTML网页提交POST请求的方法 |
5 | requests.put(): | 向HTML网页提交PUT请求方法 |
6 | requests.patch(): | 向HTML网页提交局部修改请求 |
7 | requests.delete(): | 向HTML网页提交修改请求 |
Requests库提供request()一个方法,其余6个方法其实是调用了request方法实现的(为方便书写而产生的),如下:
requests.request(method, url, **Kwargs)
r = requests.request('GET', url, **Kwargs)
r = requests.request('HEAD', url, **Kwargs)
r = requests.request('POST', url, **Kwargs)
r = requests.request('PUT', url, **Kwargs)
r = requests.request('PATCH', url, **Kwargs)
r = requests.request('DELETE', url, **Kwargs)
r = requests.request('OPTIONS', url, **Kwargs)
r = requests.request('GET', url, **Kwargs)
与 r = requests.get(url, **Kwargs)
是一样的\
二、kwargs:控制访问的13个参数
params
:字典或字节序列,作为参数增加到url中去(访问时带入参数)
import requests
kv = {'k1':'v1','k2':'v2'}
r = requests.request('get','http://baidu.com',params=kv)
print(r.url)
data
:字典、字节序列或文件对象,作为requests的内容,向服务器提交(post)资源时使用
import requests
kv = {'k1':'v1','k2':'v2'}
r = requests.request('post','http://baidu.com',data=kv)
print(r.url)
json
:JSON格式的数据,作为内容向服务器提交(post)
import requests
kv = {'k1':'v1','k2':'v2'}
r = requests.request('post','http://baidu.com',json=kv)
headers:字典,定制访问某个HTTP的头(即模拟服务器)
import requests
hd={'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36'}
r = requests.request('post','http://baidu.com',headers=hd)
print(r.text)
返回手机端页面
cookies:字典或CookieJar,从HTTP协议中解析cookie
auth:元组,支持HTTP认证功能
files:字典类型,向服务器传输文件时使用
timeout:设定超时时间,单位为秒
proxies:字典类型,设定访问代理服务器,隐藏用户原来的IP信息,有效防止爬虫的逆追踪,可以增加登录认证
allow_redirects:True/False,默认为True,重定向开关
stream:True/False,默认为True,判断是否对获取内容立即下载的一个开关
verify:True/False,默认为True,认证SSL证书开关
cert:保存本地SSL证书路径的字段