关于python requests模块
引入
import request
设置发送内容
- 确定 url 路径
url = "https://www.baidu.com"
- 首先以字典方式存放传输值
values = {
"user":"zs",
"age":20
}
- 将字典格式转换为我们需要的格式
# 引入 json 模块
import json
# 转换
data = json.dumps(values)
- 准备请求头
headers = {
"content-type":"application/x-www-form-urlencoded;charset=UTF-8"
}
-
发送请求
请求分两种
get
和post
- get请求
response = requests.get(url,data=data,headers=headers)
- post请求
response = requests.get(url,data=data,headers=headers)
需要注意,在参数只包含
url
、data
时,关于参数指定的名词data=
是可以省略的,但当出现第三个参数后,除了url,其他参数都需要进行指定。参数除了url,其他非必选
-
接收返回信息并处理
在发送get/post请求后,会接收到一个 response对象,这个对象不能直接用来操作,需要进行一定的转换。
response.text # 转为 text 文本 response.json() # 转为 json 对象 json.loads(response.text) # 转为 Python 对象
一般的我们会转为 json对象,并进行其他操作,如使用get() 方法进行进一步处理,拿到我们想要的数据。
json.loads(response.text)
与response.json()
效果一致。
示例
import requests,json
class example:
def SendGet(self):
url = "https://www.baidu.com"
response = requests.get(url)
responseInfo = response.json()
print(responseInfo)
def SendPost(self):
url = "https://www.baidu.com"
sendData = {
"user":"zhangsan",
"age":12
}
headers = {
"content-type":"application/x-www-form-urlencoded"
}
data = json.dumps(sendData)
response = requests.post(url,data=data,headers=headers)
responseInfo = response.json()
print(responseInfo)