spiderwei-manager 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- spiderwei_manager-1.0.0/PKG-INFO +231 -0
- spiderwei_manager-1.0.0/README.md +187 -0
- spiderwei_manager-1.0.0/setup.cfg +4 -0
- spiderwei_manager-1.0.0/setup.py +67 -0
- spiderwei_manager-1.0.0/spiderWei_manager/__init__.py +11 -0
- spiderwei_manager-1.0.0/spiderWei_manager/cli/__init__.py +2 -0
- spiderwei_manager-1.0.0/spiderWei_manager/cli/commands.py +242 -0
- spiderwei_manager-1.0.0/spiderWei_manager/core/__init__.py +11 -0
- spiderwei_manager-1.0.0/spiderWei_manager/core/config.py +111 -0
- spiderwei_manager-1.0.0/spiderWei_manager/core/executor.py +427 -0
- spiderwei_manager-1.0.0/spiderWei_manager/core/logger.py +106 -0
- spiderwei_manager-1.0.0/spiderWei_manager/core/manager.py +509 -0
- spiderwei_manager-1.0.0/spiderWei_manager/core/notifier.py +63 -0
- spiderwei_manager-1.0.0/spiderWei_manager/core/task.py +100 -0
- spiderwei_manager-1.0.0/spiderWei_manager/ui/__init__.py +2 -0
- spiderwei_manager-1.0.0/spiderWei_manager/ui/web/__init__.py +2 -0
- spiderwei_manager-1.0.0/spiderWei_manager/ui/web/api.py +490 -0
- spiderwei_manager-1.0.0/spiderWei_manager/ui/web/static/index.html +2668 -0
- spiderwei_manager-1.0.0/spiderwei_manager.egg-info/PKG-INFO +231 -0
- spiderwei_manager-1.0.0/spiderwei_manager.egg-info/SOURCES.txt +22 -0
- spiderwei_manager-1.0.0/spiderwei_manager.egg-info/dependency_links.txt +1 -0
- spiderwei_manager-1.0.0/spiderwei_manager.egg-info/entry_points.txt +2 -0
- spiderwei_manager-1.0.0/spiderwei_manager.egg-info/requires.txt +14 -0
- spiderwei_manager-1.0.0/spiderwei_manager.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: spiderwei-manager
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Python爬虫脚本管理器 - Web界面 + 命令行
|
|
5
|
+
Home-page: https://github.com/spiderwei/spider-manager
|
|
6
|
+
Author: SpiderWei
|
|
7
|
+
Author-email: spider.wei@example.com
|
|
8
|
+
Keywords: spider crawler manager automation scheduler
|
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Requires-Python: >=3.8
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
Requires-Dist: psutil>=5.9.0
|
|
22
|
+
Requires-Dist: click>=8.0.0
|
|
23
|
+
Provides-Extra: web
|
|
24
|
+
Requires-Dist: fastapi>=0.104.0; extra == "web"
|
|
25
|
+
Requires-Dist: uvicorn[standard]>=0.24.0; extra == "web"
|
|
26
|
+
Requires-Dist: python-multipart>=0.0.6; extra == "web"
|
|
27
|
+
Requires-Dist: websockets>=12.0; extra == "web"
|
|
28
|
+
Requires-Dist: aiofiles>=23.0.0; extra == "web"
|
|
29
|
+
Provides-Extra: dev
|
|
30
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
31
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
32
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
33
|
+
Dynamic: author
|
|
34
|
+
Dynamic: author-email
|
|
35
|
+
Dynamic: classifier
|
|
36
|
+
Dynamic: description
|
|
37
|
+
Dynamic: description-content-type
|
|
38
|
+
Dynamic: home-page
|
|
39
|
+
Dynamic: keywords
|
|
40
|
+
Dynamic: provides-extra
|
|
41
|
+
Dynamic: requires-dist
|
|
42
|
+
Dynamic: requires-python
|
|
43
|
+
Dynamic: summary
|
|
44
|
+
|
|
45
|
+
# 🕷️ SpiderWei Manager
|
|
46
|
+
|
|
47
|
+
Python爬虫脚本管理器 - 支持 Web 界面、后台守护进程、命令行工具和 Python 库调用
|
|
48
|
+
|
|
49
|
+
## ✨ 主要特性
|
|
50
|
+
|
|
51
|
+
- 🌐 **Web界面** - 现代化的Web管理界面,支持远程访问
|
|
52
|
+
- 📦 **Python库** - 可集成到其他项目中
|
|
53
|
+
- ⚙️ **命令行工具** - 支持自动化脚本
|
|
54
|
+
- 🧩 **后台守护进程** - 无界面运行任务调度器
|
|
55
|
+
- 📊 **实时日志** - WebSocket实时日志推送
|
|
56
|
+
- 🔔 **飞书告警** - 脚本失败自动推送告警
|
|
57
|
+
- 🔄 **自动重启** - 失败自动重启,支持退避策略
|
|
58
|
+
- 📝 **日志轮转** - 自动日志轮转和过期清理
|
|
59
|
+
- 🚀 **远程上传** - Web界面支持上传脚本文件
|
|
60
|
+
- ✏️ **在线编辑** - Web界面支持查看、编辑、备份和恢复脚本内容
|
|
61
|
+
|
|
62
|
+
## 🚀 快速开始
|
|
63
|
+
|
|
64
|
+
### 安装
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# 克隆项目
|
|
68
|
+
git clone https://github.com/spiderwei/spider-manager.git
|
|
69
|
+
cd spider-manager
|
|
70
|
+
|
|
71
|
+
# 基础安装
|
|
72
|
+
pip install -e .
|
|
73
|
+
|
|
74
|
+
# 或者安装Web支持
|
|
75
|
+
pip install -e .[web]
|
|
76
|
+
|
|
77
|
+
# 或者安装开发依赖
|
|
78
|
+
pip install -e .[dev]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 启动方式
|
|
82
|
+
|
|
83
|
+
#### 1. Web界面 (推荐)
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
spiderWei_manager web
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
然后在浏览器打开 http://localhost:8194
|
|
90
|
+
|
|
91
|
+
也可以指定监听地址、端口或开发模式:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
spiderWei_manager web --host 127.0.0.1 --port 8194 --reload
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
#### 2. 后台守护进程
|
|
98
|
+
|
|
99
|
+
无界面启动任务调度器,适合服务器长期运行:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
spiderWei_manager daemon
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
#### 3. 命令行管理
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# 添加脚本
|
|
109
|
+
spiderWei_manager add spider.py --schedule loop --interval 3600
|
|
110
|
+
|
|
111
|
+
# 列出任务
|
|
112
|
+
spiderWei_manager list
|
|
113
|
+
|
|
114
|
+
# 删除任务
|
|
115
|
+
spiderWei_manager remove my_spider
|
|
116
|
+
|
|
117
|
+
# 查看配置
|
|
118
|
+
spiderWei_manager config
|
|
119
|
+
|
|
120
|
+
# 查看任务日志
|
|
121
|
+
spiderWei_manager logs my_spider --lines 100
|
|
122
|
+
|
|
123
|
+
# 前台运行单个任务
|
|
124
|
+
spiderWei_manager run my_spider
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
#### 4. 作为Python库使用
|
|
128
|
+
|
|
129
|
+
```python
|
|
130
|
+
from spiderWei_manager import SpiderManager, Task
|
|
131
|
+
from datetime import datetime
|
|
132
|
+
|
|
133
|
+
manager = SpiderManager()
|
|
134
|
+
|
|
135
|
+
task = Task(
|
|
136
|
+
name="my_spider",
|
|
137
|
+
path="./spider.py",
|
|
138
|
+
schedule_type="循环",
|
|
139
|
+
interval=3600,
|
|
140
|
+
next_run_time=datetime.now()
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
manager.add_task(task)
|
|
144
|
+
manager.start_scheduler()
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## 📖 详细文档
|
|
148
|
+
|
|
149
|
+
查看 [USAGE.md](USAGE.md) 了解完整使用说明
|
|
150
|
+
|
|
151
|
+
## 🎯 使用场景
|
|
152
|
+
|
|
153
|
+
- 🕷️ 管理多个爬虫脚本的定时执行
|
|
154
|
+
- 📊 数据采集任务的集中调度
|
|
155
|
+
- 🤖 自动化测试脚本管理
|
|
156
|
+
- 📈 定时数据处理任务
|
|
157
|
+
- 🔄 需要故障自动恢复的长期任务
|
|
158
|
+
|
|
159
|
+
## 📂 项目结构
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
spiderwei-manager/
|
|
163
|
+
├── spiderWei_manager/ # 主包
|
|
164
|
+
│ ├── core/ # 核心模块(无UI依赖)
|
|
165
|
+
│ │ ├── config.py # 配置管理
|
|
166
|
+
│ │ ├── task.py # 任务模型
|
|
167
|
+
│ │ ├── logger.py # 日志管理
|
|
168
|
+
│ │ ├── notifier.py # 飞书告警
|
|
169
|
+
│ │ └── manager.py # 核心管理器
|
|
170
|
+
│ ├── ui/ # UI层
|
|
171
|
+
│ │ └── web/ # Web界面
|
|
172
|
+
│ └── cli/ # 命令行工具
|
|
173
|
+
├── setup.py # 打包配置
|
|
174
|
+
└── requirements*.txt # 依赖文件
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## 🔧 开发
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# 安装开发依赖
|
|
181
|
+
pip install -e .[dev]
|
|
182
|
+
|
|
183
|
+
# 运行测试
|
|
184
|
+
pytest
|
|
185
|
+
|
|
186
|
+
# 代码格式化
|
|
187
|
+
black spiderWei_manager
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## 📝 配置文件
|
|
191
|
+
|
|
192
|
+
配置文件位于当前工作目录:
|
|
193
|
+
|
|
194
|
+
- `settings.json` - 全局设置
|
|
195
|
+
- `scripts.json` - 任务配置
|
|
196
|
+
|
|
197
|
+
## 🌟 功能对比
|
|
198
|
+
|
|
199
|
+
| 功能 | Web界面 | CLI/Daemon | Python库 |
|
|
200
|
+
|------|---------|------------|----------|
|
|
201
|
+
| 任务管理 | ✅ | ✅ | ✅ |
|
|
202
|
+
| 远程访问 | ✅ | ❌ | ❌ |
|
|
203
|
+
| 上传脚本 | ✅ | ❌ | ❌ |
|
|
204
|
+
| 下载脚本 | ✅ | ❌ | ❌ |
|
|
205
|
+
| 在线编辑 | ✅ | ❌ | ❌ |
|
|
206
|
+
| 编辑备份/恢复 | ✅ | ❌ | ❌ |
|
|
207
|
+
| 实时日志 | ✅ | ❌ | ✅(回调) |
|
|
208
|
+
| 历史日志查询 | ✅ | ✅ | ✅ |
|
|
209
|
+
| 飞书告警 | ✅ | ✅ | ✅ |
|
|
210
|
+
| 自动重启 | ✅ | ✅ | ✅ |
|
|
211
|
+
| 循环调度 | ✅ | ✅ | ✅ |
|
|
212
|
+
| 每天定时 | ✅ | ❌ | ✅ |
|
|
213
|
+
| 移动端访问 | ✅ | ❌ | ❌ |
|
|
214
|
+
|
|
215
|
+
> 当前代码中没有 Qt 桌面界面和 `spiderWei_manager qt` 命令;如需桌面端,需要另行实现或恢复对应模块。
|
|
216
|
+
|
|
217
|
+
## 🤝 贡献
|
|
218
|
+
|
|
219
|
+
欢迎提交 Issue 和 Pull Request!
|
|
220
|
+
|
|
221
|
+
## 📄 许可证
|
|
222
|
+
|
|
223
|
+
MIT License
|
|
224
|
+
|
|
225
|
+
## 👤 作者
|
|
226
|
+
|
|
227
|
+
SpiderWei
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
**⚡ 提示**: 首次使用建议先用 `spiderWei_manager config` 查看配置,然后用 `spiderWei_manager add` 添加一个测试脚本。
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# 🕷️ SpiderWei Manager
|
|
2
|
+
|
|
3
|
+
Python爬虫脚本管理器 - 支持 Web 界面、后台守护进程、命令行工具和 Python 库调用
|
|
4
|
+
|
|
5
|
+
## ✨ 主要特性
|
|
6
|
+
|
|
7
|
+
- 🌐 **Web界面** - 现代化的Web管理界面,支持远程访问
|
|
8
|
+
- 📦 **Python库** - 可集成到其他项目中
|
|
9
|
+
- ⚙️ **命令行工具** - 支持自动化脚本
|
|
10
|
+
- 🧩 **后台守护进程** - 无界面运行任务调度器
|
|
11
|
+
- 📊 **实时日志** - WebSocket实时日志推送
|
|
12
|
+
- 🔔 **飞书告警** - 脚本失败自动推送告警
|
|
13
|
+
- 🔄 **自动重启** - 失败自动重启,支持退避策略
|
|
14
|
+
- 📝 **日志轮转** - 自动日志轮转和过期清理
|
|
15
|
+
- 🚀 **远程上传** - Web界面支持上传脚本文件
|
|
16
|
+
- ✏️ **在线编辑** - Web界面支持查看、编辑、备份和恢复脚本内容
|
|
17
|
+
|
|
18
|
+
## 🚀 快速开始
|
|
19
|
+
|
|
20
|
+
### 安装
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# 克隆项目
|
|
24
|
+
git clone https://github.com/spiderwei/spider-manager.git
|
|
25
|
+
cd spider-manager
|
|
26
|
+
|
|
27
|
+
# 基础安装
|
|
28
|
+
pip install -e .
|
|
29
|
+
|
|
30
|
+
# 或者安装Web支持
|
|
31
|
+
pip install -e .[web]
|
|
32
|
+
|
|
33
|
+
# 或者安装开发依赖
|
|
34
|
+
pip install -e .[dev]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 启动方式
|
|
38
|
+
|
|
39
|
+
#### 1. Web界面 (推荐)
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
spiderWei_manager web
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
然后在浏览器打开 http://localhost:8194
|
|
46
|
+
|
|
47
|
+
也可以指定监听地址、端口或开发模式:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
spiderWei_manager web --host 127.0.0.1 --port 8194 --reload
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
#### 2. 后台守护进程
|
|
54
|
+
|
|
55
|
+
无界面启动任务调度器,适合服务器长期运行:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
spiderWei_manager daemon
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
#### 3. 命令行管理
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# 添加脚本
|
|
65
|
+
spiderWei_manager add spider.py --schedule loop --interval 3600
|
|
66
|
+
|
|
67
|
+
# 列出任务
|
|
68
|
+
spiderWei_manager list
|
|
69
|
+
|
|
70
|
+
# 删除任务
|
|
71
|
+
spiderWei_manager remove my_spider
|
|
72
|
+
|
|
73
|
+
# 查看配置
|
|
74
|
+
spiderWei_manager config
|
|
75
|
+
|
|
76
|
+
# 查看任务日志
|
|
77
|
+
spiderWei_manager logs my_spider --lines 100
|
|
78
|
+
|
|
79
|
+
# 前台运行单个任务
|
|
80
|
+
spiderWei_manager run my_spider
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
#### 4. 作为Python库使用
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
from spiderWei_manager import SpiderManager, Task
|
|
87
|
+
from datetime import datetime
|
|
88
|
+
|
|
89
|
+
manager = SpiderManager()
|
|
90
|
+
|
|
91
|
+
task = Task(
|
|
92
|
+
name="my_spider",
|
|
93
|
+
path="./spider.py",
|
|
94
|
+
schedule_type="循环",
|
|
95
|
+
interval=3600,
|
|
96
|
+
next_run_time=datetime.now()
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
manager.add_task(task)
|
|
100
|
+
manager.start_scheduler()
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 📖 详细文档
|
|
104
|
+
|
|
105
|
+
查看 [USAGE.md](USAGE.md) 了解完整使用说明
|
|
106
|
+
|
|
107
|
+
## 🎯 使用场景
|
|
108
|
+
|
|
109
|
+
- 🕷️ 管理多个爬虫脚本的定时执行
|
|
110
|
+
- 📊 数据采集任务的集中调度
|
|
111
|
+
- 🤖 自动化测试脚本管理
|
|
112
|
+
- 📈 定时数据处理任务
|
|
113
|
+
- 🔄 需要故障自动恢复的长期任务
|
|
114
|
+
|
|
115
|
+
## 📂 项目结构
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
spiderwei-manager/
|
|
119
|
+
├── spiderWei_manager/ # 主包
|
|
120
|
+
│ ├── core/ # 核心模块(无UI依赖)
|
|
121
|
+
│ │ ├── config.py # 配置管理
|
|
122
|
+
│ │ ├── task.py # 任务模型
|
|
123
|
+
│ │ ├── logger.py # 日志管理
|
|
124
|
+
│ │ ├── notifier.py # 飞书告警
|
|
125
|
+
│ │ └── manager.py # 核心管理器
|
|
126
|
+
│ ├── ui/ # UI层
|
|
127
|
+
│ │ └── web/ # Web界面
|
|
128
|
+
│ └── cli/ # 命令行工具
|
|
129
|
+
├── setup.py # 打包配置
|
|
130
|
+
└── requirements*.txt # 依赖文件
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## 🔧 开发
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# 安装开发依赖
|
|
137
|
+
pip install -e .[dev]
|
|
138
|
+
|
|
139
|
+
# 运行测试
|
|
140
|
+
pytest
|
|
141
|
+
|
|
142
|
+
# 代码格式化
|
|
143
|
+
black spiderWei_manager
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## 📝 配置文件
|
|
147
|
+
|
|
148
|
+
配置文件位于当前工作目录:
|
|
149
|
+
|
|
150
|
+
- `settings.json` - 全局设置
|
|
151
|
+
- `scripts.json` - 任务配置
|
|
152
|
+
|
|
153
|
+
## 🌟 功能对比
|
|
154
|
+
|
|
155
|
+
| 功能 | Web界面 | CLI/Daemon | Python库 |
|
|
156
|
+
|------|---------|------------|----------|
|
|
157
|
+
| 任务管理 | ✅ | ✅ | ✅ |
|
|
158
|
+
| 远程访问 | ✅ | ❌ | ❌ |
|
|
159
|
+
| 上传脚本 | ✅ | ❌ | ❌ |
|
|
160
|
+
| 下载脚本 | ✅ | ❌ | ❌ |
|
|
161
|
+
| 在线编辑 | ✅ | ❌ | ❌ |
|
|
162
|
+
| 编辑备份/恢复 | ✅ | ❌ | ❌ |
|
|
163
|
+
| 实时日志 | ✅ | ❌ | ✅(回调) |
|
|
164
|
+
| 历史日志查询 | ✅ | ✅ | ✅ |
|
|
165
|
+
| 飞书告警 | ✅ | ✅ | ✅ |
|
|
166
|
+
| 自动重启 | ✅ | ✅ | ✅ |
|
|
167
|
+
| 循环调度 | ✅ | ✅ | ✅ |
|
|
168
|
+
| 每天定时 | ✅ | ❌ | ✅ |
|
|
169
|
+
| 移动端访问 | ✅ | ❌ | ❌ |
|
|
170
|
+
|
|
171
|
+
> 当前代码中没有 Qt 桌面界面和 `spiderWei_manager qt` 命令;如需桌面端,需要另行实现或恢复对应模块。
|
|
172
|
+
|
|
173
|
+
## 🤝 贡献
|
|
174
|
+
|
|
175
|
+
欢迎提交 Issue 和 Pull Request!
|
|
176
|
+
|
|
177
|
+
## 📄 许可证
|
|
178
|
+
|
|
179
|
+
MIT License
|
|
180
|
+
|
|
181
|
+
## 👤 作者
|
|
182
|
+
|
|
183
|
+
SpiderWei
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
**⚡ 提示**: 首次使用建议先用 `spiderWei_manager config` 查看配置,然后用 `spiderWei_manager add` 添加一个测试脚本。
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
from setuptools import setup, find_packages
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
# 读取README
|
|
5
|
+
readme_file = Path(__file__).parent / "README.md"
|
|
6
|
+
long_description = ""
|
|
7
|
+
if readme_file.exists():
|
|
8
|
+
long_description = readme_file.read_text(encoding='utf-8')
|
|
9
|
+
|
|
10
|
+
setup(
|
|
11
|
+
name="spiderwei-manager",
|
|
12
|
+
version="1.0.0",
|
|
13
|
+
author="SpiderWei",
|
|
14
|
+
author_email="spider.wei@example.com",
|
|
15
|
+
description="Python爬虫脚本管理器 - Web界面 + 命令行",
|
|
16
|
+
long_description=long_description,
|
|
17
|
+
long_description_content_type="text/markdown",
|
|
18
|
+
url="https://github.com/spiderwei/spider-manager",
|
|
19
|
+
packages=find_packages(),
|
|
20
|
+
include_package_data=True,
|
|
21
|
+
package_data={
|
|
22
|
+
'spiderWei_manager': [
|
|
23
|
+
'ui/web/static/*.*',
|
|
24
|
+
'ui/web/static/**/*.*',
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
install_requires=[
|
|
28
|
+
# 核心依赖(必需)
|
|
29
|
+
"psutil>=5.9.0",
|
|
30
|
+
"click>=8.0.0",
|
|
31
|
+
],
|
|
32
|
+
extras_require={
|
|
33
|
+
# Web界面依赖
|
|
34
|
+
"web": [
|
|
35
|
+
"fastapi>=0.104.0",
|
|
36
|
+
"uvicorn[standard]>=0.24.0",
|
|
37
|
+
"python-multipart>=0.0.6",
|
|
38
|
+
"websockets>=12.0",
|
|
39
|
+
"aiofiles>=23.0.0",
|
|
40
|
+
],
|
|
41
|
+
# 开发依赖
|
|
42
|
+
"dev": [
|
|
43
|
+
"pytest>=7.0.0",
|
|
44
|
+
"black>=23.0.0",
|
|
45
|
+
"flake8>=6.0.0",
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
entry_points={
|
|
49
|
+
"console_scripts": [
|
|
50
|
+
"spiderWei_manager=spiderWei_manager.cli.commands:main",
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
python_requires=">=3.8",
|
|
54
|
+
classifiers=[
|
|
55
|
+
"Development Status :: 4 - Beta",
|
|
56
|
+
"Intended Audience :: Developers",
|
|
57
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
58
|
+
"License :: OSI Approved :: MIT License",
|
|
59
|
+
"Programming Language :: Python :: 3",
|
|
60
|
+
"Programming Language :: Python :: 3.8",
|
|
61
|
+
"Programming Language :: Python :: 3.9",
|
|
62
|
+
"Programming Language :: Python :: 3.10",
|
|
63
|
+
"Programming Language :: Python :: 3.11",
|
|
64
|
+
"Operating System :: OS Independent",
|
|
65
|
+
],
|
|
66
|
+
keywords="spider crawler manager automation scheduler",
|
|
67
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""SpiderWei Manager - 爬虫脚本管理器核心包"""
|
|
3
|
+
|
|
4
|
+
__version__ = "1.0.0"
|
|
5
|
+
__author__ = "SpiderWei"
|
|
6
|
+
|
|
7
|
+
from .core.manager import SpiderManager
|
|
8
|
+
from .core.task import Task
|
|
9
|
+
from .core.config import Config
|
|
10
|
+
|
|
11
|
+
__all__ = ["SpiderManager", "Task", "Config"]
|