面向 内容监控 / 资讯聚合 场景的自托管抓取平台。
ZSpider 不是“写几个爬虫脚本然后自己拼调度”的工具,而是一套带 Web 后台、定时调度、配置化解析、结果查看 的平台化抓取系统,适合持续监控新闻、公告、公众号和各类公开网页内容。
ZSpider 更适合“持续运行的内容采集任务”,而不是一次性脚本:
- 新闻 / 资讯聚合:监控多个媒体站点,统一采集标题、正文、时间、来源
- 公告监控:追踪政府、学校、企业官网的公告更新
- 公众号采集:抓取公众号文章列表和正文,做归档或二次分析
- 行业情报收集:持续拉取公开网页内容,用于研究、投研、舆情或专题跟踪
- 自建抓取后台:把任务、字段、结果、日志放在同一套后台中集中管理
如果你的目标是“长期稳定地监控内容变化”,ZSpider 会比零散脚本更省心。
- 🕷️ 平台化任务管理:通过 Web 后台集中管理抓取任务和字段配置
- ⏰ 定时调度:基于 APScheduler 的 Cron 任务调度
- 🌐 可视化后台:查看任务状态、抓取结果、运行日志
- 📦 配置化解析:支持 XPath + 正则提取,不必每次都重写代码
- 🔐 登录站点支持:支持需要登录态的网站抓取
- 🔄 去重机制:基于 Memcached 的 URL 去重和心跳机制
- 🚚 可扩展架构:Dispatcher / Crawler 解耦,可横向扩展 Worker
当需求从“一次抓完”变成“持续监控”后,团队通常会开始遇到这些问题:
- 任务分散在多个脚本里,不好管理
- 调度依赖 crontab / supervisor,链路分散
- 解析规则改完后,没有统一入口重新验证
- 多站点并发后,日志、状态、结果难以集中查看
ZSpider 的目标就是把这类 持续抓取 + 定时调度 + 结果管理 的工作沉淀成一套更容易跑起来、也更容易交接的平台。
推荐使用 Python 3.9:
git clone https://github.com/Zephor5/zspider.git
cd zspider
cp .env.example .env
python3.9 -m venv .venv
./.venv/bin/pip install -U pip setuptools wheel
./.venv/bin/pip install -r requirements_dev.txt -c constraints/py39.txtmake services-up会启动:
- MongoDB
- RabbitMQ
- Memcached
make dev这个命令会统一启动:
zspider.dispatcherzspider.crawlerzspider.web
默认访问地址:
http://127.0.0.1:5000
第一次访问 /login 时:
- 输入任意账号和密码
- 如果当前用户表为空,这组凭据会被写入并成为 首个管理员账号
也就是说,项目当前没有预置默认管理员账号,首次登录输入的账号 / 密码就是初始化管理员账号。
- 打开后台首页,确认能访问 Dashboard
- 登录后新建任务 / 查看任务页是否正常打开
- 查看
logs/web.log、logs/dispatcher.log、logs/crawler.log是否有异常
停止服务:
# Ctrl + C 停止 make dev 启动的本地进程
make services-down为了减少“到底先起哪个组件”的理解成本,仓库现在提供了统一入口:
make dev它会:
- 自动拉起
docker-compose.services.yml里的依赖 - 用当前仓库
.venv启动 dispatcher / crawler / web - 将日志写入
logs/dispatcher.log、logs/crawler.log、logs/web.log
如果你只想启动外部依赖:
make services-up如果你只想运行测试:
make test┌─────────────────────────────────────────────────────────────┐
│ ZSpider 系统 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Dispatcher → RabbitMQ → Crawler Workers │
│ │ │ │
│ └──────── 状态 / 管理 ──────────┘ │
│ │
│ MongoDB 存储任务与抓取结果 │
│ Memcached 心跳与去重 │
│ Web Admin 后台管理与查看 │
│ │
└─────────────────────────────────────────────────────────────┘
中文文档:
英文文档:
- Documentation Home
- Developer Guide
- Modernization Plan
- Architecture Design
- Internal Message Design
- Item Model Reference
构建文档:
cd docs
make html或访问 Read the Docs。
MIT License
欢迎提交 Issue 和 Pull Request。