first commit
This commit is contained in:
170
backend/README.md
Normal file
170
backend/README.md
Normal file
@@ -0,0 +1,170 @@
|
||||
# 小红书登录后端服务
|
||||
|
||||
基于 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 和用户信息
|
||||
Reference in New Issue
Block a user