Skip to content

persist-1/CSZC_ZhilianBI

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors