Skip to content

MeteorsLiu/algo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 

Repository files navigation

algo 项目架构

此项目旨在从 GitHub 上自动爬取数据,存储到本地数据库中,通过算法分析这些数据,并通过前端展示结果。项目分为多个模块,包括爬虫、算法分析、API 接口及前端展示。

前端展示

地址:https://algo-eno.pages.dev/

前端部署

cd frontend && pnpm install && pnpm run build

上传即可

目录结构

项目根目录
├── script               # 前端
├── script               # 脚本文件夹
│   ├── icehub.py        # 爬虫模块
│   ├── src              # 数据分析模块
│   └── api.py           # API 接口模块(使用 Flask)
└── frontend             # 前端展示模块

模块介绍

  1. 爬虫模块 (script/icehub.py):该模块负责在 GitHub 网站上爬取所需信息,将数据写入本地数据库。主要功能包括:
  • 爬取 GitHub 项目信息(如 stars、forks 等)并写入数据库
  • 根据 API 限额自动调整爬取时机,必要时自动进入休眠状态
  • 支持扩展不同的 API 源
  1. 数据分析模块 (script/src):该模块从数据库读取数据,分析并生成适合的参数,用于数据进一步处理。分析结果会写回数据库,以便后续调用。主要功能包括:
  • 连接数据库并读取爬虫模块存储的数据
  • 分析用户的地理位置与排名信息
  • 将易于检索的数据条目回写至数据库供 API 部分查询
  1. API 接口模块 (script/api.py):该模块使用 Flask 框架实现 API 接口,供前端调用。主要功能包括:
  • 接收前端请求,根据前端需求组织数据库中的数据,并在查询/排序后返回 json 结果
  • 必要时进行额外的数据分析,并将分析结果返回给前端
  1. 前端展示模块 (frontend):前端模块负责调用 API,并展示来自数据库的数据。主要功能包括:
  • 根据用户输入,调用 API 接口模块获取所需数据并动态展示给用户
  • 简洁、美观、流畅的界面,以用户友好的方式展示信息

视频演示

2024-11-08.00-04-19.mp4

About

七牛云参赛项目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors