django-scrapyd-manager


Namedjango-scrapyd-manager JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryA Django application for managing Scrapyd nodes, projects, spiders and jobs
upload_time2025-09-02 11:22:18
maintainerNone
docs_urlNone
authorNone
requires_python>=3.13
licenseNone
keywords django scrapyd scrapy web-scraping manager
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # DjangoScrapydManager

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

## 功能特性

- **节点管理**:添加、编辑和删除 Scrapyd 节点,支持认证和 SSL
- **项目管理**:查看和管理 Scrapyd 上的项目
- **版本管理**:查看、部署和删除项目版本
- **爬虫管理**:查看爬虫信息,支持爬虫分组
- **任务管理**:启动、停止爬虫任务,查看任务状态和日志
- **数据同步**:自动同步 Scrapyd 节点上的项目、版本、爬虫和任务信息

## 技术栈

- Python 3.13+
- Django 5.2.5+
- Requests 2.32.4+

## 安装方法
```python
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 文件路径

## 贡献指南

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

## 许可证

[MIT License](LICENSE)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "django-scrapyd-manager",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.13",
    "maintainer_email": null,
    "keywords": "django, scrapyd, scrapy, web-scraping, manager",
    "author": null,
    "author_email": "Cone387 <1183008540@qq.com>",
    "download_url": "https://files.pythonhosted.org/packages/cf/1a/a2ec4d16eddf571023cc2637bdaf033c640a874374f61868913925604a57/django_scrapyd_manager-0.1.2.tar.gz",
    "platform": null,
    "description": "# DjangoScrapydManager\n\nDjangoScrapydManager \u662f\u4e00\u4e2a\u7528\u4e8e\u7ba1\u7406 Scrapyd \u8282\u70b9\u7684 Django \u5e94\u7528\uff0c\u63d0\u4f9b\u4e86\u5bf9 Scrapyd \u8282\u70b9\u3001\u9879\u76ee\u3001\u7248\u672c\u3001\u722c\u866b\u548c\u4efb\u52a1\u7684\u5b8c\u6574\u7ba1\u7406\u529f\u80fd\u3002\n\n## \u529f\u80fd\u7279\u6027\n\n- **\u8282\u70b9\u7ba1\u7406**\uff1a\u6dfb\u52a0\u3001\u7f16\u8f91\u548c\u5220\u9664 Scrapyd \u8282\u70b9\uff0c\u652f\u6301\u8ba4\u8bc1\u548c SSL\n- **\u9879\u76ee\u7ba1\u7406**\uff1a\u67e5\u770b\u548c\u7ba1\u7406 Scrapyd \u4e0a\u7684\u9879\u76ee\n- **\u7248\u672c\u7ba1\u7406**\uff1a\u67e5\u770b\u3001\u90e8\u7f72\u548c\u5220\u9664\u9879\u76ee\u7248\u672c\n- **\u722c\u866b\u7ba1\u7406**\uff1a\u67e5\u770b\u722c\u866b\u4fe1\u606f\uff0c\u652f\u6301\u722c\u866b\u5206\u7ec4\n- **\u4efb\u52a1\u7ba1\u7406**\uff1a\u542f\u52a8\u3001\u505c\u6b62\u722c\u866b\u4efb\u52a1\uff0c\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u548c\u65e5\u5fd7\n- **\u6570\u636e\u540c\u6b65**\uff1a\u81ea\u52a8\u540c\u6b65 Scrapyd \u8282\u70b9\u4e0a\u7684\u9879\u76ee\u3001\u7248\u672c\u3001\u722c\u866b\u548c\u4efb\u52a1\u4fe1\u606f\n\n## \u6280\u672f\u6808\n\n- Python 3.13+\n- Django 5.2.5+\n- Requests 2.32.4+\n\n## \u5b89\u88c5\u65b9\u6cd5\n```python\nINSTALLED_APPS = [\n    \"django_scrapyd_manager\"\n]\n```\n\n## \u4f7f\u7528\u65b9\u6cd5\n\n### 1. \u6dfb\u52a0 Scrapyd \u8282\u70b9\n\n\u9996\u5148\u9700\u8981\u6dfb\u52a0\u4e00\u4e2a Scrapyd \u8282\u70b9\uff0c\u5305\u62ec\u8282\u70b9\u540d\u79f0\u3001IP \u5730\u5740\u3001\u7aef\u53e3\u7b49\u4fe1\u606f\u3002\u5982\u679c Scrapyd \u670d\u52a1\u9700\u8981\u8ba4\u8bc1\uff0c\u53ef\u4ee5\u52fe\u9009 \"\u9700\u8981\u8ba4\u8bc1\" \u5e76\u586b\u5199\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002\n\n### 2. \u540c\u6b65\u9879\u76ee\u4fe1\u606f\n\n\u6dfb\u52a0\u8282\u70b9\u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u540c\u6b65\u8be5\u8282\u70b9\u4e0a\u7684\u9879\u76ee\u3001\u7248\u672c\u548c\u722c\u866b\u4fe1\u606f\u3002\n\n### 3. \u7ba1\u7406\u722c\u866b\u4efb\u52a1\n\n- **\u542f\u52a8\u722c\u866b**\uff1a\u9009\u62e9\u4e00\u4e2a\u722c\u866b\uff0c\u70b9\u51fb \"\u542f\u52a8\" \u6309\u94ae\u5373\u53ef\u542f\u52a8\u722c\u866b\u4efb\u52a1\n- **\u505c\u6b62\u722c\u866b**\uff1a\u53ef\u4ee5\u505c\u6b62\u5355\u4e2a\u4efb\u52a1\u6216\u67d0\u4e2a\u722c\u866b\u7684\u6240\u6709\u4efb\u52a1\n- **\u521b\u5efa\u722c\u866b\u7ec4**\uff1a\u53ef\u4ee5\u5c06\u591a\u4e2a\u722c\u866b\u6dfb\u52a0\u5230\u4e00\u4e2a\u7ec4\u4e2d\uff0c\u65b9\u4fbf\u6279\u91cf\u7ba1\u7406\n\n### 4. \u67e5\u770b\u4efb\u52a1\u72b6\u6001\n\n\u7cfb\u7edf\u4f1a\u5b9a\u671f\u540c\u6b65\u4efb\u52a1\u72b6\u6001\uff0c\u60a8\u53ef\u4ee5\u5728\u4efb\u52a1\u5217\u8868\u4e2d\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3001\u5f00\u59cb\u65f6\u95f4\u3001\u7ed3\u675f\u65f6\u95f4\u7b49\u4fe1\u606f\u3002\n\n## \u6838\u5fc3\u6a21\u578b\n\n### Node\n\n\u8868\u793a\u4e00\u4e2a Scrapyd \u8282\u70b9\uff0c\u5305\u542b\u8282\u70b9\u540d\u79f0\u3001IP \u5730\u5740\u3001\u7aef\u53e3\u3001\u8ba4\u8bc1\u4fe1\u606f\u7b49\u3002\n\n### Project\n\n\u8868\u793a Scrapyd \u4e0a\u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5c5e\u4e8e\u67d0\u4e2a\u8282\u70b9\u3002\n\n### ProjectVersion\n\n\u8868\u793a\u9879\u76ee\u7684\u4e00\u4e2a\u7248\u672c\uff0c\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u722c\u866b\u3002\n\n### Spider\n\n\u8868\u793a\u4e00\u4e2a\u722c\u866b\uff0c\u5c5e\u4e8e\u67d0\u4e2a\u9879\u76ee\u7248\u672c\u3002\n\n### SpiderGroup\n\n\u8868\u793a\u4e00\u7ec4\u722c\u866b\uff0c\u53ef\u4ee5\u6279\u91cf\u7ba1\u7406\u591a\u4e2a\u722c\u866b\u3002\n\n### Job\n\n\u8868\u793a\u4e00\u4e2a\u722c\u866b\u4efb\u52a1\uff0c\u8bb0\u5f55\u4efb\u52a1\u7684\u72b6\u6001\u3001\u5f00\u59cb\u65f6\u95f4\u3001\u7ed3\u675f\u65f6\u95f4\u7b49\u4fe1\u606f\u3002\n\n\n## \u6ce8\u610f\u4e8b\u9879\n\n1. \u8bf7\u786e\u4fdd Scrapyd \u670d\u52a1\u5df2\u7ecf\u6b63\u786e\u5b89\u88c5\u5e76\u8fd0\u884c\n2. \u5bf9\u4e8e\u9700\u8981\u8ba4\u8bc1\u7684 Scrapyd \u670d\u52a1\uff0c\u8bf7\u6b63\u786e\u914d\u7f6e\u8ba4\u8bc1\u4fe1\u606f\n3. \u7cfb\u7edf\u4f1a\u5b9a\u671f\u540c\u6b65\u6570\u636e\uff0c\u4e5f\u53ef\u4ee5\u624b\u52a8\u89e6\u53d1\u540c\u6b65\n4. \u90e8\u7f72\u65b0\u7248\u672c\u65f6\uff0c\u9700\u8981\u63d0\u4f9b\u6b63\u786e\u7684 egg \u6587\u4ef6\u8def\u5f84\n\n## \u8d21\u732e\u6307\u5357\n\n\u6b22\u8fce\u63d0\u4ea4 issue \u548c pull request \u6765\u5e2e\u52a9\u6539\u8fdb\u8fd9\u4e2a\u9879\u76ee\u3002\n\n## \u8bb8\u53ef\u8bc1\n\n[MIT License](LICENSE)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Django application for managing Scrapyd nodes, projects, spiders and jobs",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/cone387/DjangoScrapydManager",
        "Repository": "https://github.com/cone387/DjangoScrapydManager"
    },
    "split_keywords": [
        "django",
        " scrapyd",
        " scrapy",
        " web-scraping",
        " manager"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "33b81edf590108ad70e0cdddebf026d782b33f5c5d2468b1fac1ec1906288884",
                "md5": "510e384d4876db0d7313272787e2e482",
                "sha256": "f8612d355e63a0a0d91b960f0f9d61e79e9db1eef39b0843a787ba6d467910b9"
            },
            "downloads": -1,
            "filename": "django_scrapyd_manager-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "510e384d4876db0d7313272787e2e482",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.13",
            "size": 18251,
            "upload_time": "2025-09-02T11:22:17",
            "upload_time_iso_8601": "2025-09-02T11:22:17.595703Z",
            "url": "https://files.pythonhosted.org/packages/33/b8/1edf590108ad70e0cdddebf026d782b33f5c5d2468b1fac1ec1906288884/django_scrapyd_manager-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cf1aa2ec4d16eddf571023cc2637bdaf033c640a874374f61868913925604a57",
                "md5": "e49ba31a17d97c4d6182ede32e779287",
                "sha256": "af3c334932e4488cc40d2799a29765f3ca888b9bea37db2fb81aee257ab42b36"
            },
            "downloads": -1,
            "filename": "django_scrapyd_manager-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "e49ba31a17d97c4d6182ede32e779287",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.13",
            "size": 16869,
            "upload_time": "2025-09-02T11:22:18",
            "upload_time_iso_8601": "2025-09-02T11:22:18.603433Z",
            "url": "https://files.pythonhosted.org/packages/cf/1a/a2ec4d16eddf571023cc2637bdaf033c640a874374f61868913925604a57/django_scrapyd_manager-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-02 11:22:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cone387",
    "github_project": "DjangoScrapydManager",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "django-scrapyd-manager"
}
        
Elapsed time: 2.08563s