Python
- 基础
-
库
- 其他
- argparse命令行参数解析
- asyncio自带异步编程库
- aiofiles异步文件读写库
- beautifulsoup4_HTML_XML解析库
- colorama_在终端输出漂亮的字
- datasets数据集处理
- html2text
- httpx_HTTP请求库
- litellm
- loguru日志库
- numpy科学计算基础库
- pillow图像处理
- pydantic数据验证
- pyyaml
- requests_HTTP请求库
- tenacity重试
- tiktoken计算Token量
- torch机器学习_深度学习框架
- tomli TOML文件解析库
- tomllib 自带TOML文件解析库
- unidiff_文本_文件差异对比
- uvicorn_Web服务器
- langchain
**requests 是 Python 中一个非常流行且易用的 HTTP 请求库**,用于**发送 HTTP 请求(如 GET、POST 等),与网页、API 进行交互,获取或提交数据**。
---
## 一、requests 是什么?(简单理解)
- 它是一个 **第三方 Python 库**,用来**发送网络请求**,比如访问网页、调用 RESTful API、下载文件等。
- 相比 Python 内置的 `urllib`,requests **语法更简洁、使用更方便、功能更强大**,是绝大多数 Python 开发者进行网络请求时的首选工具。
- 常用于:**爬虫、API 调用、自动化测试、与 Web 服务交互**等场景。
---
## 二、requests 解决什么问题?
当你需要做以下事情时,就会用到 requests:
| 场景 | 说明 |
|------|------|
| **访问网页内容** | 获取某个 URL 的 HTML 源码(常用于爬虫) |
| **调用 API** | 向 RESTful API 发送 GET、POST 请求,获取或提交 JSON 数据 |
| **上传/下载数据** | 发送带参数、文件、表单的数据请求 |
| **处理 HTTP 响应** | 获取状态码、响应头、响应内容(文本、JSON、二进制等) |
| **模拟浏览器请求** | 添加请求头(如 User-Agent)、Cookies、Session 等 |
---
## 三、安装 requests
使用 pip 安装:
```bash
pip install requests
```
---
## 四、requests 的基本使用示例
### 1. 发送 GET 请求,获取网页内容
```python
import requests
# 发送 GET 请求
response = requests.get("https://www.example.com")
# 查看响应状态码
print(response.status_code) # 200 表示成功
# 获取网页内容(文本格式)
print(response.text)
```
### 2. 发送 GET 请求带参数
```python
params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get("https://httpbin.org/get", params=params)
print(response.url) # 查看实际请求的 URL
print(response.json()) # 如果返回的是 JSON,可直接解析
```
### 3. 发送 POST 请求(比如提交表单或 JSON 数据)
```python
# 发送表单数据
data = {'username': 'test', 'password': '123456'}
response = requests.post("https://httpbin.org/post", data=data)
print(response.json())
# 发送 JSON 数据
json_data = {'name': 'Alice', 'age': 25}
response = requests.post("https://httpbin.org/post", json=json_data)
print(response.json())
```
### 4. 获取 JSON 格式响应(比如调用 API)
```python
response = requests.get("https://api.github.com")
data = response.json() # 直接解析为 Python 字典/列表
print(data)
```
---
## 五、requests 常用功能
| 功能 | 说明 |
|------|------|
| `requests.get()` | 发送 GET 请求 |
| `requests.post()` | 发送 POST 请求 |
| `requests.put()` / `requests.delete()` | 发送 PUT / DELETE 请求 |
| `response.text` | 获取响应内容(字符串,通常是 HTML 或文本) |
| `response.json()` | 获取 JSON 格式响应(自动解析为 Python 对象) |
| `response.status_code` | 获取 HTTP 状态码,如 200、404、500 |
| `response.headers` | 获取响应头信息 |
| `requests.get(headers={...})` | 自定义请求头,比如 User-Agent |
| `requests.Session()` | 保持会话(用于 Cookie、登录状态等) |
---
## 六、总结(中文)
> **requests 是 Python 中最流行、最易用的 HTTP 请求库,用来发送各种网络请求,比如访问网页、调用 API、上传数据等。它语法简单,功能强大,是爬虫、接口调用、自动化任务中必不可少的工具。**
---
✅ **简单来说:**
> 如果你需要在 Python 中**访问网页、调用 API 或发送 HTTP 请求,requests 就是最常用、最方便的库。**