Skip to content

Repository files navigation

超视职场 - 智联招聘数据分析系统 (CSZC_ZhilianBI)

超视职场Logo

一个基于Python Flask的招聘数据采集、分析与可视化平台,支持多城市数据爬取和多维度数据分析。

🌟 项目概述

超视职场是一个智能化的招聘数据采集与分析系统,专门用于从'智联招聘'招聘网站爬取职位信息,并提供完整的数据存储、分析和可视化功能。系统采用现代化Web架构设计,支持多用户、多城市数据采集,具备完善的用户认证体系和丰富的数据分析功能。

核心特性

  • 🔐 完整用户系统 - 注册/登录、邮箱验证、个人资料管理
  • 📧 邮件服务 - 验证码发送、账户通知等邮件功能
  • 🕷️ 智能爬虫 - 支持多城市、关键词的招聘数据采集
  • 📊 数据分析 - 多维度统计分析和交互式图表展示
  • 🎨 现代化UI - 基于Bootstrap 5的响应式Web界面
  • 🗄️ 数据管理 - SQLite数据库存储,支持数据导出和记录管理

🏗️ 项目结构

CSZC/
├── app.py                    # Flask Web应用主程序
├── auth.py                   # 用户认证模块
├── chart_utils.py            # 图表数据处理模块
├── config copy.py            # 配置文件副本(请将该文件重命名为config.py,否则无法使用)
├── data_processing.py        # 数据处理与清洗模块
├── database.py               # 数据库操作模块
├── email_service.py          # 邮件服务模块
├── scraper.py                # 网页爬虫模块
├── visualization.py          # 数据可视化模块
├── templates/                # Jinja2模板文件
│   ├── base.html            # 基础模板
│   ├── index.html           # 首页
│   ├── landing.html         # 着陆页
│   ├── login.html           # 登录页面
│   ├── register.html        # 注册页面
│   ├── profile.html         # 个人中心
│   ├── scraper.html         # 数据采集页面
│   ├── data.html            # 数据查看页面
│   └── analysis.html        # 数据分析页面
├── static/                   # 静态资源
│   ├── for_readme/          # Readme展示资源
│   ├── css/                 # 样式文件
│   │   ├── landing.css      # 着陆页样式
│   │   ├── nav.css          # 导航栏样式
│   │   └── style.css        # 主要样式
│   └── public/              # 静态文件
├── requirements.txt          # pip依赖管理文件
├── pyproject.toml           # uv项目配置文件
├── uv.lock                  # uv锁定文件
├── run_flask.bat            # Windows启动脚本
├── data.db                  # SQLite数据库
├── .gitignore               # Git忽略文件
├── .python-version          # Python版本文件
└── README.md               # 项目文档

🚀 快速开始

环境要求

  • Python 3.13+
  • pip 或 uv 包管理器

安装步骤

  1. 克隆项目

    git clone https://github.com/persist-1/CSZC_ZhilianBI.git
    cd CSZC_ZhilianBI
  2. 选择环境管理方式

    方式一:使用 pip + venv(传统方式)

    # 创建虚拟环境
    python -m venv venv
    
    # 激活虚拟环境
    source venv/bin/activate  # Linux/Mac
    #
    venv\Scripts\activate     # Windows
    
    # 安装依赖
    pip install -r requirements.txt

    方式二:使用 uv(推荐,更快速)

    # 安装 uv(如果尚未安装)
    pip install uv
    
    # 创建虚拟环境并安装依赖
    uv sync
    
    # 激活虚拟环境
    source .venv/bin/activate  # Linux/Mac
    #
    .venv\Scripts\activate     # Windows
  3. 运行应用

    python app.py
    uv run app.py # 根据环境选择使用pip或uv

    或点击run_flask.bat启动应用

  4. 访问应用 打开浏览器访问 http://localhost:60003

📱 功能展示

介绍/登陆/注册/个人 页面

介绍页面

介绍页面

登陆页面

登陆页面

注册页面

注册页面

个人中心页面

个人中心页面

首页/数据展示/数据爬取/数据分析 页面

首页

首页

数据展示页面

数据展示页面

数据爬取页面

数据爬取页面

数据分析页面

数据分析页面

🛠️ 技术栈

后端技术

  • Python 3.11+ - 核心开发语言
  • Flask - Web框架,提供HTTP服务和路由
  • SQLite - 轻量级数据库,存储用户和爬取数据
  • Selenium - Web自动化,模拟浏览器爬取数据
  • Pandas - 数据处理和分析
  • bcrypt - 密码加密和验证

前端技术

  • Bootstrap 5 - 响应式UI框架
  • Chart.js - 交互式数据可视化
  • Jinja2 - 模板引擎
  • JavaScript ES6+ - 前端交互逻辑

🔧 配置说明

数据库配置

系统使用SQLite数据库,数据文件:data.db

爬虫配置

参考config.py中的配置

邮件配置

支持SMTP邮件服务,用于用户验证和通知

参考config.py中的配置

🛡️ 安全特性

  • 密码加密 - 使用bcrypt进行密码哈希存储
  • 会话管理 - Flask Session安全会话管理
  • 邮箱验证 - 注册邮箱验证,防止恶意注册
  • 输入验证 - 前后端双重数据验证
  • SQL注入防护 - 参数化查询
  • XSS防护 - 模板自动转义

🐛 故障排除

常见问题

  1. 浏览器驱动问题

    • 确保Microsoft Edge浏览器已安装
    • webdriver-manager会自动下载驱动
  2. 邮件发送失败

    • 检查邮箱配置
    • 确保开启SMTP服务
  3. 数据库权限问题

    • 确保数据库文件路径有写入权限

📄 许可证

本项目采用 MIT 许可证。

⚠️ 免责声明

本项目仅用于学习和研究目的,请遵守相关网站的robots.txt协议和使用条款,不得用于商业用途或恶意爬取,不得影响目标网站运行或造成经济损失以及其他负面影响。使用者需自行承担使用风险。


该项目是Python课程设计结课作业,质量偏赶工水平,还请见谅

🌟 如果这个项目对你有帮助,请给我们一个Star!

About

2025Refined: 基于 Flask+Jinjia2+Selenium+SQLite 的'智联招聘'数据采集、分析与可视化平台,支持多城市数据爬取、多维度数据分析、图表看板展示。

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages