2.9 KiB
2.9 KiB
小红书登录后端服务
基于 Playwright 的小红书登录服务,支持手机号+验证码登录。
功能特性
- ✅ 手机号+验证码登录
- ✅ 自动化浏览器操作
- ✅ 获取登录后的 Cookies 和用户信息
- ✅ RESTful API 接口
技术栈
- Python 3.8+
- FastAPI - Web 框架
- Playwright - 浏览器自动化
- Uvicorn - ASGI 服务器
安装步骤
1. 创建虚拟环境(如果还没有)
cd backend
python -m venv venv
2. 激活虚拟环境
Windows:
venv\Scripts\activate
Linux/Mac:
source venv/bin/activate
3. 安装依赖
pip install -r requirements.txt
4. 安装 Playwright 浏览器
playwright install chromium
使用方法
启动服务
python main.py
服务将在 http://localhost:8000 启动。
API 接口
1. 发送验证码
POST /api/xhs/send-code
请求体:
{
"phone": "13800138000",
"country_code": "+86"
}
响应:
{
"code": 0,
"message": "验证码已发送,请在小红书APP中查看",
"data": {
"sent_at": "2025-12-10T10:00:00"
}
}
2. 登录验证
POST /api/xhs/login
请求体:
{
"phone": "13800138000",
"code": "123456",
"country_code": "+86"
}
响应:
{
"code": 0,
"message": "登录成功",
"data": {
"user_info": {...},
"cookies": {...},
"login_time": "2025-12-10T10:01:00"
}
}
3. 健康检查
GET /
响应:
{
"status": "ok",
"message": "小红书登录服务运行中"
}
注意事项
- 滑块验证: 小红书可能会要求滑块验证,需要手动完成
- 验证码: 验证码会发送到小红书 APP,需要在 APP 中查看
- 浏览器模式:
- 开发时使用
headless=False可以看到浏览器操作 - 生产环境可设置
headless=True在后台运行
- 开发时使用
- 反爬虫: 小红书有反爬虫机制,可能需要调整策略
开发调试
查看 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 和用户信息