Requests
requests模块是由python编写的一个用于发起网络请求的模块
Requests入门
-
安装requests模块
pip install requests
-
导入
import requests
-
发送一个get请求
import reuqests #不带参数的get请求,获取百度的整张页面,r为响应内容 r = requests.get("https://www.baidu.com/") #带参数的get请求 r = requests.get(url="https://www.baidu.com/", params={"key": "value"})
-
使用requests发送各种请求
#get请求 requests.get("url") #post请求 requests.post("url/post") #put请求 requests.put("url/put") #delete请求 requests.delete("url/delete") #head请求 requests.head("url/get") #options请求 requests.options("url/get")
Requests响应内容
r = reuqests.get("url")
#获取当前编码
r.encoding
#设置编码
r.encoding = 'utf-8'
#以encoding解析返回内容。字符串方式的响应体
r.text
#以二进制返回
r.content
#响应头
r.headers
#响应状态码
r.status_code
#查看r.ok的布尔值便可以知道是否登陆成功
r.ok
#把响应的内容以json的形式返回
r.json()
#失败请求,主动抛出异常
r.raise_for_status()
Requests请求参数
#get请求参数
requests.get(
url="",
#为url中传递参数, http://www.baidu.com?k1=v1&k2=v2
params={"k1": "v1", 'k2': 'v2'},
#修改请求头中的信息
headers={"key": "value"},
#设置请求时携带cookies
cookies={"key": "value"},
#设置连接超时时间,仅对连接有效
timeout=1,
#设置代理ip
proxies={"http":"ip1", "https":"ip2"}
)
#post请求参数
requests.post(
url="",
headers={"key": "value"},
cookies={"key": "value"}
#post提交的数据
data={"key": "value"},
params={"k1": "v1", 'k2': 'v2'},
proxies={"http":"ip1", "https":"ip2"},
#上传文件字段
files={"file":open("home/11.jpg", 'rb')}
)