Skip to content

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

Notifications You must be signed in to change notification settings

abin2017/VideoCrawlerEngine

This branch is up to date with ZSAIm/VideoCrawlerEngine:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

994933d · Feb 10, 2021

History

24 Commits
Feb 10, 2021
Feb 10, 2021
Feb 9, 2021
Feb 10, 2021
Feb 9, 2021
Feb 9, 2021
Feb 9, 2021
Feb 10, 2021
Feb 9, 2021
Jan 27, 2021
Feb 10, 2021
Feb 9, 2021
Feb 10, 2021
Feb 9, 2021
Feb 9, 2021
Feb 9, 2021
Feb 9, 2021

Repository files navigation

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 65.2%
  • Vue 20.7%
  • JavaScript 14.0%
  • HTML 0.1%