ZSAIm / VideoCrawlerEngine

起源于旧项目爱奇艺解析器(iqiyi-parser)在开发、维护和扩展的过程中遇到的一些问题,而实现的一个基于任务流式的可视化爬虫引擎。引擎的执行单元是节点。脚本节点(script)作为根节点来完成对节点和流程的描述,经由任务节点(task)解析流程描述并生成节点的执行队列,最后交由工作者执行池处理。整个过程可视可控,所有节点处理器都以插件的形式导入,以最大程度实现易扩展性。
448 stars 90 forks source link
python taskflow

VideoCrawlerEngine

视频爬取引擎

视频爬虫引擎是以自定义脚本为草图,生成请求器工作流,实现可控可视的流水线执行。 意在提高脚本的开发效率,让开发者专注于解决反爬。

项目架构

后端

Python + Fastapi

架构图

应用架构 后端架构

应用路径

中间件: ./app/api/

任务流: ./app/taskflow/

脚本引擎: ./app/script/

前端

Vue + Vuetify

应用路径

开发路径./app/html/

前端UI

任务列表

显示所有被创建的任务。

任务列表

任务详情

显示任务的具体运行情况,包括执行流程、进度、日志等情况。

任务详情

配置选项

应用的所有可配置信息(配置文件处于./conf/目录下)

配置选项

应用状态

查看应用的运行状态,其中包括工作线程池运行情况。

应用状态

安装

依赖

使用虚拟环境安装依赖库

使用

注意:上述命令会启动三个后台服务器, 分别是(Api, Script, TaskFlow)

在默认配置文件下:

开发

后端

依赖安装方式参考上面的安装

前端

依赖

许可证

Apache-2.0