在当今的网络世界中,数据无处不在。对于程序员来说,能够方便地从网络获取数据是一项极其重要的技能。Python的requests
库正是这样一个工具,它让发送HTTP请求变得简单而直观。
简介
在Python的世界里,requests
库是发送HTTP请求的瑞士军刀。它简单、易用且功能强大,能够让开发者轻松地与Web服务进行交互。无论是获取数据、上传文件还是与其他API进行通信,requests
都能满足你的需求。
安装requests库
开始之前,你需要确保你的Python环境中安装了requests
库。如果尚未安装,可以通过以下命令轻松安装:
pip install requests
基本用法
requests
库的使用非常简单。以下是发送一个GET请求并获取响应的基本示例:
import requests
# 发送GET请求
response = requests.get('https://api.example.com/data')
# 打印响应内容
print(response.text)
参数和响应
当你发送请求时,可能需要传递一些参数。requests
库允许你通过params
参数轻松传递这些参数:
import requests
# 发送带有查询参数的GET请求
params = {
'key1': 'value1',
'key2': 'value2'
}
response = requests.get('https://api.example.com/search', params=params)
# 打印响应内容
print(response.text)
对于POST请求,你可以使用data
参数传递表单数据,或者使用json
参数发送JSON数据:
import requests
# 发送POST请求(表单数据)
data = {
'username': 'user',
'password': 'pass'
}
response = requests.post('https://api.example.com/login', data=data)
# 发送POST请求(JSON数据)
json_data = {
'username': 'user',
'password': 'pass'
}
response = requests.post('https://api.example.com/login', json=json_data)
处理响应
requests
库返回的响应对象包含服务器返回的所有信息。你可以像操作文件一样操作响应内容:
import requests
response = requests.get('https://api.example.com/data')
# 读取响应内容
content = response.content
# 获取JSON响应数据
data = response.json()
# 检查响应状态码
if response.status_code == 200:
print('请求成功!')
else:
print('请求失败,状态码:', response.status_code)
高级用法
requests
库还支持会话(Sessions)、持久化Cookies、自定义请求头等高级功能:
import requests
# 创建会话对象
session = requests.Session()
# 持久化Cookies
session.get('https://api.example.com/login', data={'username': 'user', 'password': 'pass'})
# 发送另一个请求,带有之前登录的Cookies
response = session.get('https://api.example.com/protected_data')
# 打印响应内容
print(response.text)
# 关闭会话
session.close()
requests
库是Python中发送HTTP请求的利器。它的简洁和强大使得网络数据的获取变得轻而易举。无论你是数据科学家、Web开发者还是API消费者,requests
库都能满足你的需求。