爬虫管理平台

需求分析

基于对分布式爬虫的管理需要,按顺序整理以下的需求分析。

  1. 查看Scrapyd节点状态;
  2. 查看Scrapyd节点下存在的Project和Spider;
  3. 支持对Spider的分组功能;
  4. 对Spider组和单个Spider进行控制(运行、暂停、继续、停止);
  5. 实时显示分组及Spiders的工作状态。

概要设计

技术选型
系统结构
爬虫管理平台
前端显示
调用后端API进行显示
后端系统
API接口
对外的API接口 仅负责网络相关及业务函数调用
爬虫信息
对应需求分析的1235
爬虫控制
对应需求分析的4
日志系统
调用关系及接口

因为API模块即是内部接口与外部用户的桥梁,所以API调用的内部接口与API提供的外部接口一一对应。所以API模块调用的内部接口列表即外部接口列表。

以下是系统的内部接口图。

技术依赖原因,暂停与继续功能暂未实现

API接口
爬虫信息
查询Scrapyd节点信息及状态
删除Scrapyd节点信息
增加Scrapyd节点信息
修改Scrapyd节点信息
查询所有Project和Spider信息
查询所有分组及分组内爬虫详细信息
删除分组
新建分组
爬虫控制
查询爬虫运行状态
查询分组运行状态
运行分组爬虫
暂停分组爬虫
继续分组爬虫
停止分组爬虫
运行单个爬虫
暂停单个爬虫
继续单个爬虫
停止单个爬虫
数据库设计图

1

详细设计

爬虫信息模块

数据表设计(每个表省略id字段)
Scrapyd表
字段名数据类型选项备注
namevarchar(45)UQ, NN
ipvarchar(45)NNIP地址
portvarchar(45)NN端口号
commentvarchar(128)简介
Project表
字段名数据类型选项备注
namevarchar(45)UQ, NN
scrapydintFK外键
commentvarchar(128)简介
Spider表
字段名数据类型选项备注
namevarchar(45)QU, NN
projectintFK外键
commentvarchar(128)简介
Group表
字段名数据类型选项备注
namevarchar(45)QU, NN
spiderintFK外键
commentvarchar(128)

API接口模块

参看内置接口文档

信息配置流程

手动配置Scrapyd节点
系统定时拉取节点信息
手动点击拉取节点信息
更新Project和Spider信息