/VideoCrawlerEngine

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

Primary LanguagePython

VideoCrawlerEngine

视频爬取引擎

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

项目架构

后端

Python + Fastapi

架构图

应用架构 后端架构

应用路径

中间件: ./app/api/

任务流: ./app/taskflow/

脚本引擎: ./app/script/

前端

Vue + Vuetify

应用路径

开发路径./app/html/

前端UI

任务列表

显示所有被创建的任务。

任务列表

任务详情

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

任务详情

配置选项

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

配置选项

应用状态

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

应用状态

安装

依赖

  • Python >= 3.7

  • 安装Python库依赖(建议使用虚拟环境)

    pip install -r requirements.txt

使用虚拟环境安装依赖库

  • 新建venv目录

    mkdir venv venv

  • 创建虚拟环境

    python venv venv

  • 进入虚拟环境

    ./venv/Scripts/activate

  • 按照上面依赖中的依赖库安装方式进行安装依赖

使用

  • 进入项目目录,运行如下启动后台服务器

    python main.py

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

在默认配置文件下:

开发

后端

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

前端

依赖

  • 安装Nodejs

  • 安装yarn

    npm install yarn -g

  • 进入./app/html

    cd ./app/html

  • 安装依赖库

    yarn install

  • 运行调试器

    yarn dev

  • 编译项目

    yarn build

许可证

Apache-2.0