Skip to main content

DjangoScrapydManager

DjangoScrapydManager 是一个用于管理 Scrapyd 节点的 Django 应用,提供了对 Scrapyd 节点、项目、版本、爬虫和任务的完整管理功能。

功能特性

  • 节点管理:添加、编辑和删除 Scrapyd 节点,支持认证和 SSL
  • 项目管理:查看和管理 Scrapyd 上的项目
  • 版本管理:查看、部署和删除项目版本
  • 爬虫管理:查看爬虫信息,支持爬虫分组
  • 任务管理:启动、停止爬虫任务,查看任务状态和日志
  • 数据同步:自动同步 Scrapyd 节点上的项目、版本、爬虫和任务信息
  • 爬虫组管理:自定义爬虫组, 一次启动多个爬虫
  • 监控job:监控爬虫组状态, 自动重启爬虫

技术栈

  • Python 3.13+
  • Django 5.2.5+
  • Requests 2.32.4+

安装方法

INSTALLED_APPS = [
    "django_scrapyd_manager"
]

使用方法

1. 添加 Scrapyd 节点

首先需要添加一个 Scrapyd 节点,包括节点名称、IP 地址、端口等信息。如果 Scrapyd 服务需要认证,可以勾选 "需要认证" 并填写用户名和密码。

2. 同步项目信息

添加节点后,系统会自动同步该节点上的项目、版本和爬虫信息。

3. 管理爬虫任务

  • 启动爬虫:选择一个爬虫,点击 "启动" 按钮即可启动爬虫任务
  • 停止爬虫:可以停止单个任务或某个爬虫的所有任务
  • 创建爬虫组:可以将多个爬虫添加到一个组中,方便批量管理

4. 查看任务状态

系统会定期同步任务状态,您可以在任务列表中查看任务的运行状态、开始时间、结束时间等信息。

核心模型

Node

表示一个 Scrapyd 节点,包含节点名称、IP 地址、端口、认证信息等。

Project

表示 Scrapyd 上的一个项目,属于某个节点。

ProjectVersion

表示项目的一个版本,可以包含多个爬虫。

Spider

表示一个爬虫,属于某个项目版本。

SpiderGroup

表示一组爬虫,可以批量管理多个爬虫。

Job

表示一个爬虫任务,记录任务的状态、开始时间、结束时间等信息。

注意事项

  1. 请确保 Scrapyd 服务已经正确安装并运行
  2. 对于需要认证的 Scrapyd 服务,请正确配置认证信息
  3. 系统会定期同步数据,也可以手动触发同步
  4. 部署新版本时,需要提供正确的 egg 文件路径

下个版本规划

  • Guardian 信号机制

    • 在项目发布版本时发送 pre_publish / post_publish 信号
    • 在爬虫任务启动、结束时发送 pre_job_start / post_job_finish 信号
    • 方便外部系统监听并执行自定义逻辑(如通知、审计、自动化处理)
  • 任务指标展示

    • 在任务详情中展示类似 ScrapydWeb 的运行指标:
      • page_nums(已抓取页面数)
      • item_nums(已采集 item 数量)
    • 支持任务运行中实时刷新

贡献指南

欢迎提交 issue 和 pull request 来帮助改进这个项目。

许可证

MIT License

Metadata

Release files for django-scrapyd-manager 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-scrapyd-manager 0.2.3
File Size Uploaded
django_scrapyd_manager-0.2.3.tar.gz 27.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-scrapyd-manager 0.2.3
File Interpreter ABI Platform
django_scrapyd_manager-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 58.6 kB

Release files / django_scrapyd_manager-0.2.3.tar.gz

Download URL django_scrapyd_manager-0.2.3.tar.gz
Size 27.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6a8ffa9424632febebcb7cdd825c41047a08240db78e5e4c3994e204ef72cdb3
BLAKE2b-256 checksum
How to use checksums
ba9428b62744a35237ca20503453f14f915c450f2e06c89d131a55ba8f19b586
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.14

Release files / django_scrapyd_manager-0.2.3-py3-none-any.whl

Download URL django_scrapyd_manager-0.2.3-py3-none-any.whl
Size 31.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
441e52a41f66820d82030ef490fcf102cee60af0e746c02d34db0993a1ab6bb6
BLAKE2b-256 checksum
How to use checksums
7099be140a9ad70c792986523aa37703471568d2141f0b6f7d13cf7fab840ab5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.14

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page