Files
ai_wht_wechat/backend/README.md

171 lines
2.9 KiB
Markdown
Raw Normal View History

2025-12-19 22:36:48 +08:00
# 小红书登录后端服务
基于 Playwright 的小红书登录服务,支持手机号+验证码登录。
## 功能特性
- ✅ 手机号+验证码登录
- ✅ 自动化浏览器操作
- ✅ 获取登录后的 Cookies 和用户信息
- ✅ RESTful API 接口
## 技术栈
- Python 3.8+
- FastAPI - Web 框架
- Playwright - 浏览器自动化
- Uvicorn - ASGI 服务器
## 安装步骤
### 1. 创建虚拟环境(如果还没有)
```bash
cd backend
python -m venv venv
```
### 2. 激活虚拟环境
**Windows:**
```bash
venv\Scripts\activate
```
**Linux/Mac:**
```bash
source venv/bin/activate
```
### 3. 安装依赖
```bash
pip install -r requirements.txt
```
### 4. 安装 Playwright 浏览器
```bash
playwright install chromium
```
## 使用方法
### 启动服务
```bash
python main.py
```
服务将在 `http://localhost:8000` 启动。
### API 接口
#### 1. 发送验证码
**POST** `/api/xhs/send-code`
请求体:
```json
{
"phone": "13800138000",
"country_code": "+86"
}
```
响应:
```json
{
"code": 0,
"message": "验证码已发送请在小红书APP中查看",
"data": {
"sent_at": "2025-12-10T10:00:00"
}
}
```
#### 2. 登录验证
**POST** `/api/xhs/login`
请求体:
```json
{
"phone": "13800138000",
"code": "123456",
"country_code": "+86"
}
```
响应:
```json
{
"code": 0,
"message": "登录成功",
"data": {
"user_info": {...},
"cookies": {...},
"login_time": "2025-12-10T10:01:00"
}
}
```
#### 3. 健康检查
**GET** `/`
响应:
```json
{
"status": "ok",
"message": "小红书登录服务运行中"
}
```
## 注意事项
1. **滑块验证**: 小红书可能会要求滑块验证,需要手动完成
2. **验证码**: 验证码会发送到小红书 APP需要在 APP 中查看
3. **浏览器模式**:
- 开发时使用 `headless=False` 可以看到浏览器操作
- 生产环境可设置 `headless=True` 在后台运行
4. **反爬虫**: 小红书有反爬虫机制,可能需要调整策略
## 开发调试
### 查看 API 文档
访问 `http://localhost:8000/docs` 可以看到自动生成的 Swagger 文档。
### 日志输出
服务会在控制台输出详细的操作日志,便于调试。
## 项目结构
```
backend/
├── main.py # FastAPI 主程序
├── xhs_login.py # 小红书登录服务
├── requirements.txt # Python 依赖
├── venv/ # Python 虚拟环境
└── README.md # 说明文档
```
## 常见问题
### Q: 验证码发送失败?
A: 检查手机号格式是否正确,确保网络连接正常。
### Q: 登录失败?
A: 确认验证码是否正确,验证码有时效性,请及时输入。
### Q: 浏览器无法启动?
A: 确保已经运行 `playwright install chromium` 安装浏览器。
## 安全提示
- 不要在公网暴露此服务
- 生产环境建议添加认证机制
- 妥善保管获取到的 Cookies 和用户信息