Appearance
requests 模块
- requests 是 Python 中最常用的 HTTP 客户端库,用于发送 HTTP 请求(如 GET、POST 等)并处理响应,简化了网络请求的实现。以下是 requests 模块的核心用法和示例:
- 官方文档:https://requests.readthedocs.io/projects/cn/zh-cn/latest
安装
bash
pip install requestsGet 请求
python
import requests
# 发送 GET 请求
response = requests.get('https://www.baidu.com', params={'key': 'value'})
# 设置编码 方式1
response.encoding = 'utf-8'
# 设置编码 方式2
# content = response.content.decode('utf-8')
# 获取响应内容
content = response.text
# 获取响应状态码
status_code = response.status_codePost 请求
python
import requests
# 发送 POST 请求
data = {'key': 'value'}
response = requests.post('https://www.baidu.com', data = data).decode('utf-8')
# 设置编码 方式1
response.encoding = 'utf-8'
# 设置编码 方式2
# content = response.content.decode('utf-8')
# 获取响应内容
content = response.text
# 获取响应状态码
status_code = response.status_coderesponse 对象
response.text:获取响应内容,返回字符串类型。response.content:获取响应内容,返回字节类型。response.status_code:获取响应状态码,返回整数类型。response.headers:获取响应头,返回字典类型。response.json():获取响应内容,返回 JSON 类型。
参数传递
- get 请求
params:查询字符串参数,字典类型。headers:请求头,字典类型。cookies:Cookie 信息,字典类型。timeout:超时时间,单位为秒。verify:是否验证 SSL 证书,默认值为 True。proxies:代理信息,字典类型。
python
import requests
response = requests.get('https://www.baidu.com', params = {}, headers = {})- post 请求
data:请求体参数,字典类型。headers:请求头,字典类型。params:查询字符串参数,字典类型。cookies:Cookie 信息,字典类型。files:文件上传参数,列表类型。json:JSON 数据,字典类型。timeout:超时时间,单位为秒。verify:是否验证 SSL 证书,默认值为 True。proxies:代理信息,字典类型。
python
import requests
response = requests.post('https://www.baidu.com', data = {}, headers = {}, params = {}, cookies = {}, files = {})网络超时
timeout:设置网络超时时间,单位为秒。- 尽量设置
timeout,避免网络问题导致程序阻塞。一般设置 3~5 秒即可
python
import requests
response = requests.get('https://www.baidu.com', timeout = 5)