Metadata-Version: 2.4
Name: spiderwei-manager
Version: 1.0.0
Summary: Python爬虫脚本管理器 - Web界面 + 命令行
Home-page: https://github.com/spiderwei/spider-manager
Author: SpiderWei
Author-email: spider.wei@example.com
Keywords: spider crawler manager automation scheduler
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: psutil>=5.9.0
Requires-Dist: click>=8.0.0
Provides-Extra: web
Requires-Dist: fastapi>=0.104.0; extra == "web"
Requires-Dist: uvicorn[standard]>=0.24.0; extra == "web"
Requires-Dist: python-multipart>=0.0.6; extra == "web"
Requires-Dist: websockets>=12.0; extra == "web"
Requires-Dist: aiofiles>=23.0.0; extra == "web"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# 🕷️ SpiderWei Manager

Python爬虫脚本管理器 - 支持 Web 界面、后台守护进程、命令行工具和 Python 库调用

## ✨ 主要特性

- 🌐 **Web界面** - 现代化的Web管理界面，支持远程访问
- 📦 **Python库** - 可集成到其他项目中
- ⚙️ **命令行工具** - 支持自动化脚本
- 🧩 **后台守护进程** - 无界面运行任务调度器
- 📊 **实时日志** - WebSocket实时日志推送
- 🔔 **飞书告警** - 脚本失败自动推送告警
- 🔄 **自动重启** - 失败自动重启，支持退避策略
- 📝 **日志轮转** - 自动日志轮转和过期清理
- 🚀 **远程上传** - Web界面支持上传脚本文件
- ✏️ **在线编辑** - Web界面支持查看、编辑、备份和恢复脚本内容

## 🚀 快速开始

### 安装

```bash
# 克隆项目
git clone https://github.com/spiderwei/spider-manager.git
cd spider-manager

# 基础安装
pip install -e .

# 或者安装Web支持
pip install -e .[web]

# 或者安装开发依赖
pip install -e .[dev]
```

### 启动方式

#### 1. Web界面 （推荐）

```bash
spiderWei_manager web
```

然后在浏览器打开 http://localhost:8194

也可以指定监听地址、端口或开发模式：

```bash
spiderWei_manager web --host 127.0.0.1 --port 8194 --reload
```

#### 2. 后台守护进程

无界面启动任务调度器，适合服务器长期运行：

```bash
spiderWei_manager daemon
```

#### 3. 命令行管理

```bash
# 添加脚本
spiderWei_manager add spider.py --schedule loop --interval 3600

# 列出任务
spiderWei_manager list

# 删除任务
spiderWei_manager remove my_spider

# 查看配置
spiderWei_manager config

# 查看任务日志
spiderWei_manager logs my_spider --lines 100

# 前台运行单个任务
spiderWei_manager run my_spider
```

#### 4. 作为Python库使用

```python
from spiderWei_manager import SpiderManager, Task
from datetime import datetime

manager = SpiderManager()

task = Task(
    name="my_spider",
    path="./spider.py",
    schedule_type="循环",
    interval=3600,
    next_run_time=datetime.now()
)

manager.add_task(task)
manager.start_scheduler()
```

## 📖 详细文档

查看 [USAGE.md](USAGE.md) 了解完整使用说明

## 🎯 使用场景

- 🕷️ 管理多个爬虫脚本的定时执行
- 📊 数据采集任务的集中调度
- 🤖 自动化测试脚本管理
- 📈 定时数据处理任务
- 🔄 需要故障自动恢复的长期任务

## 📂 项目结构

```
spiderwei-manager/
├── spiderWei_manager/      # 主包
│   ├── core/              # 核心模块（无UI依赖）
│   │   ├── config.py     # 配置管理
│   │   ├── task.py       # 任务模型
│   │   ├── logger.py     # 日志管理
│   │   ├── notifier.py   # 飞书告警
│   │   └── manager.py    # 核心管理器
│   ├── ui/                # UI层
│   │   └── web/          # Web界面
│   └── cli/               # 命令行工具
├── setup.py               # 打包配置
└── requirements*.txt      # 依赖文件
```

## 🔧 开发

```bash
# 安装开发依赖
pip install -e .[dev]

# 运行测试
pytest

# 代码格式化
black spiderWei_manager
```

## 📝 配置文件

配置文件位于当前工作目录：

- `settings.json` - 全局设置
- `scripts.json` - 任务配置

## 🌟 功能对比

| 功能 | Web界面 | CLI/Daemon | Python库 |
|------|---------|------------|----------|
| 任务管理 | ✅ | ✅ | ✅ |
| 远程访问 | ✅ | ❌ | ❌ |
| 上传脚本 | ✅ | ❌ | ❌ |
| 下载脚本 | ✅ | ❌ | ❌ |
| 在线编辑 | ✅ | ❌ | ❌ |
| 编辑备份/恢复 | ✅ | ❌ | ❌ |
| 实时日志 | ✅ | ❌ | ✅（回调） |
| 历史日志查询 | ✅ | ✅ | ✅ |
| 飞书告警 | ✅ | ✅ | ✅ |
| 自动重启 | ✅ | ✅ | ✅ |
| 循环调度 | ✅ | ✅ | ✅ |
| 每天定时 | ✅ | ❌ | ✅ |
| 移动端访问 | ✅ | ❌ | ❌ |

> 当前代码中没有 Qt 桌面界面和 `spiderWei_manager qt` 命令；如需桌面端，需要另行实现或恢复对应模块。

## 🤝 贡献

欢迎提交 Issue 和 Pull Request！

## 📄 许可证

MIT License

## 👤 作者

SpiderWei

---

**⚡ 提示**: 首次使用建议先用 `spiderWei_manager config` 查看配置，然后用 `spiderWei_manager add` 添加一个测试脚本。
