Code Monkey home page Code Monkey logo

crackercat / videocrawlerengine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zsaim/videocrawlerengine

0.0 0.0 0.0 6.06 MB

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

Python 65.23% HTML 0.12% JavaScript 13.96% Vue 20.69%

videocrawlerengine's Introduction

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

videocrawlerengine's People

Contributors

zsaim avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.