# 微店抢购管理系统 基于 Playwright + Flask 的微店自动抢购工具,提供 Web 管理界面,支持多账号、购物车同步、定时抢购。 ## 功能 - **多账号管理** — 添加账号后台自动登录,状态实时轮询 - **购物车同步** — 自动识别预售商品(倒计时 / 定时开售),一键创建抢购任务 - **定时抢购** — 精确计时,到点自动刷新 → 点击购买 → 选 SKU → 提交订单,支持重试 - **账号隔离** — 同账号任务顺序执行,不同账号并行,互不干扰 - **Web 面板** — 任务按账号分组,实时倒计时,一键启动 / 停止 ## 快速开始 ### 本地运行 ```bash pip install -r requirements.txt playwright install chromium python run.py ``` 访问 http://localhost:9000 ### Docker 运行 ```bash docker compose up -d ``` 数据持久化在 `./data` 目录(SQLite 数据库 + 登录态文件)。 ## 项目结构 ``` ├── run.py # 启动入口 ├── main.py # 独立抢购脚本(命令行模式) ├── config.yaml # 命令行模式配置 ├── server/ │ ├── app.py # Flask 应用 │ ├── database.py # SQLite 数据库 │ ├── routers/ # 路由(accounts / tasks / orders) │ └── services/ │ ├── snatcher.py # 抢购核心逻辑 │ ├── cart_service.py # 购物车预售商品抓取 │ ├── scheduler.py # 任务调度(按账号隔离) │ └── auth_service.py # 登录态管理 ├── templates/ # Jinja2 页面模板 ├── utils/ # 工具(stealth / timer / auth) ├── Dockerfile └── docker-compose.yml ``` ## 注意事项 - 抢购成功率受网络延迟、库存、平台风控等因素影响,本工具仅辅助操作 - SKU 选择器的 CSS 类名基于当前微店 H5 页面结构,如页面改版可能需要调整 - Docker 容器内以 headless 模式运行 Chromium