Files
ai_wht_wechat/backend/README.md
2025-12-19 22:36:48 +08:00

171 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 小红书登录后端服务
基于 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 和用户信息