星链速联是一个智能化的招聘数据采集与分析系统,专门用于从'智联招聘'招聘网站爬取职位信息,并提供完整的数据存储、分析和可视化功能。系统采用现代化Web架构设计,支持多用户、多城市数据采集,具备完善的用户认证体系和丰富的数据分析功能。
本项目基于 CSZC_ZhilianBI 进行二次开发与功能增强,在原项目的基础上重构了项目结构、完善了爬虫与匹配模块,并重新整理为适合公开分享的版本。
- 🔐 完整用户系统 - 注册/登录、邮箱验证、个人资料管理
- 📧 邮件服务 - 验证码发送、账户通知等邮件功能
- 🕷️ 智能爬虫 - 支持多城市、关键词的招聘数据采集与AI RAG检索
- 🎯 简历匹配 - AI智能简历-职位匹配,人岗精准推荐
- 🔍 AI RAG 检索 - 基于检索增强生成技术的智能问答与职位检索
- 📊 数据分析 - 多维度统计分析和交互式图表展示
- 🎨 现代化UI - 基于Bootstrap 5的响应式Web界面
- 🗄️ 数据管理 - SQLite数据库存储,支持数据导出和记录管理
TalentLink/
├── app.py # Flask Web应用主程序
├── core/ # 核心业务模块
│ ├── auth.py # 用户认证模块
│ ├── chart_utils.py # 图表数据处理模块
│ ├── config.py # 项目配置文件
│ ├── data_processing.py # 数据处理与清洗模块
│ ├── database.py # 数据库操作模块
│ ├── email_service.py # 邮件服务模块
│ ├── extract_skills.py # 技能提取模块
│ ├── logger_config.py # 日志配置模块
│ ├── resume_matching.py # 简历匹配模块
│ ├── scraper.py # 网页爬虫模块
│ ├── task_queue_manager.py # 任务队列管理模块
│ └── visualization.py # 数据可视化模块
├── api/ # API接口模块
├── matching/ # 简历匹配子系统
├── mining/ # 技能挖掘模块
├── fusion/ # 数据融合模块
├── evaluation/ # 评估模块
├── docs/ # 项目文档(API、模型、数据说明等)
├── scrapers/ # 爬虫实现(智联/前程无忧)
│ ├── zhilian_city_codes.json # 智联城市代码
│ └── zhilian_city_pinyin.json # 城市拼音排序映射
├── visualization_new/ # 可视化组件(词云/网络图)
├── model_training/ # Sentence-BERT 微调
├── templates/ # Jinja2模板文件
│ ├── base.html # 基础模板
│ ├── index.html # 首页
│ ├── landing.html # 着陆页
│ ├── login.html # 登录页面
│ ├── register.html # 注册页面
│ ├── profile.html # 个人中心
│ ├── scraper.html # 数据采集页面
│ ├── data.html # 数据查看页面
│ ├── analysis.html # 数据分析页面
│ └── resume_*.html # 简历上传/匹配/历史页面
├── static/ # 静态资源
│ ├── for_readme/ # Readme展示资源
│ ├── css/ # 样式文件
│ │ ├── landing.css # 着陆页样式
│ │ ├── nav.css # 导航栏样式
│ │ └── style.css # 主要样式
│ └── public/ # 静态文件
├── tests/ # 单元测试
├── requirements.txt # pip依赖管理文件
├── pyproject.toml # uv项目配置文件
├── uv.lock # uv锁定文件
├── run_flask.py # Python启动脚本
├── run_flask.bat # Windows启动脚本
├── .gitignore # Git忽略文件
├── .python-version # Python版本文件
└── README.md # 项目文档
data.db等运行时文件会在首次启动时自动生成,不随仓库发布。
- Python 3.13+
- pip 或 uv 包管理器
-
克隆项目
git clone https://github.com/Practice019/TalentLink.git cd TalentLink -
选择环境管理方式
# 创建虚拟环境 python -m venv venv # 激活虚拟环境 source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements.txt
# 安装 uv(如果尚未安装) pip install uv # 创建虚拟环境并安装依赖 uv sync # 激活虚拟环境 source .venv/bin/activate # Linux/Mac # 或 .venv\Scripts\activate # Windows
-
运行应用
python app.py uv run app.py # 根据环境选择使用pip或uv或点击
run_flask.bat启动应用 -
访问应用 打开浏览器访问
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防护 - 模板自动转义
-
浏览器驱动问题
- 确保Microsoft Edge浏览器已安装
- webdriver-manager会自动下载驱动
-
邮件发送失败
- 检查邮箱配置
- 确保开启SMTP服务
-
数据库权限问题
- 确保数据库文件路径有写入权限
本项目采用 MIT 许可证。
本项目仅用于学习和研究目的,请遵守相关网站的robots.txt协议和使用条款,不得用于商业用途或恶意爬取,不得影响目标网站运行或造成经济损失以及其他负面影响。使用者需自行承担使用风险。
该项目是Python课程设计结课作业,质量偏赶工水平,还请见谅
🌟 如果这个项目对你有帮助,请给我们一个Star!








