编程开发 | 1.1M
语言:简体
4 .0
应用简介
Crawlab是一个基于Golang的分布式爬虫管理平台。它支持Python、NodeJS、Go、Java、PHP等多种编程语言,以及多种爬虫框架。分为三种安装方式:Docker、直接部署、Kubernetes。
Crawlab是一个基于Golang的分布式爬虫管理平台。它支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架。分为三种安装方式:Docker、直接部署、Kubernetes!
软件介绍
爬行实验室架构:
Crawlab的架构包括一个主节点(Master Node)和多个工作节点(Worker Node),以及负责通信和数据存储的Redis和MongoDB数据库。
前端应用程序向主节点请求数据。主节点通过MongoDB和Redis进行任务调度调度和部署。 Worker节点收到任务后,开始执行爬虫任务,并将任务结果存储到MongoDB中。与v0.3.0之前的Celery版本相比,架构进行了精简。不必要的节点监控模块Flower已被删除。节点监控主要由Redis完成。
主节点
主节点是整个Crawlab架构的核心,属于Crawlab的中央控制系统。主节点负责与前端应用程序通信,并通过Redis向工作节点调度爬虫任务。同时,主节点会通过Redis和MongoDB的GridFS将爬虫同步(部署)到工作节点上。
工作节点
Worker节点的主要功能是执行爬虫任务并存储爬取数据和日志,并通过Redis的PubSub与Master节点进行通信。通过增加工作节点数量,Crawlab可以实现水平扩展,不同的爬虫任务可以分配到不同的节点执行。
MongoDB
MongoDB是Crawlab的运行数据库,存储节点、爬虫、任务、定时任务等数据。另外,GridFS文件存储方式是主节点存储爬虫文件并同步到工作节点的中间介质。
雷迪斯
Redis是一个非常流行的Key-Value数据库,在Crawlab中主要实现节点之间数据通信的功能。例如,节点会通过HSET将自己的信息存储在Redis的节点哈希表中,主节点会根据哈希表确定在线节点。
前端
前端是一个基于Vue-Element-Admin的单页应用程序。许多Element-UI控件被复用以支持相应的显示。
热门攻略