# python-recruitment-analysis **Repository Path**: lemontree666/python-recruitment-analysis ## Basic Information - **Project Name**: python-recruitment-analysis - **Description**: 本项目是一个基于Python的招聘数据分析平台,通过爬取Boss直聘等招聘网站的岗位信息,对数据进行清洗、存储、分析,并通过Web界面为用户提供直观的可视化展示。平台包含岗位数据分析、薪资预测、岗位匹配等核心功能,旨在帮助求职者了解IT行业就业市场现状,提高求职效率。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 2 - **Created**: 2025-06-18 - **Last Updated**: 2026-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python招聘数据分析平台 ## 📋 项目概述 本项目是一个基于Python的招聘数据分析平台,通过爬取Boss直聘等招聘网站的岗位信息,对数据进行清洗、存储、分析,并通过Web界面为用户提供直观的可视化展示。平台包含岗位数据分析、薪资预测、岗位匹配等核心功能,旨在帮助求职者了解IT行业就业市场现状,提高求职效率。 ## 🚀 核心功能 - **招聘数据分析**:多维度分析不同职位类别的薪资分布、学历要求、经验要求、技能需求等 - **薪资预测**:基于机器学习模型,根据用户输入的条件预测可能的薪资范围 - **岗位匹配**:根据用户技能、期望地区等条件,智能匹配最适合的岗位 - **地区薪资地图**:直观展示全国各地区的薪资水平和职位分布情况 - **职位详情分析**:针对特定职位的深入分析,包括薪资趋势、技能需求等 ## 🔧 技术栈 ### 前端 - HTML5、CSS3、JavaScript - jQuery、Bootstrap框架 - ECharts可视化库 ### 后端 - Python 3.8+ - Flask Web框架 - MySQL数据库 - Pandas、NumPy数据处理 - Scikit-learn机器学习 ## 📊 数据流程 1. **数据采集**:使用Python爬虫从Boss直聘等招聘网站爬取岗位数据 2. **数据清洗**:对原始数据进行去重、纠错、格式统一等处理 3. **数据存储**:将处理后的数据存入MySQL数据库 4. **数据分析**:使用Pandas等工具进行统计分析 5. **模型训练**:基于历史数据训练薪资预测模型 6. **数据可视化**:通过ECharts等工具将分析结果可视化展示 ## 🗂️ 项目结构 ``` Python招聘数据分析平台/ ├── app.py # Flask应用主入口 ├── mysql.py # 数据库操作模块 ├── match.py # 岗位匹配算法模块 ├── salary_model.py # 薪资预测模型 ├── spider/ # 爬虫模块 │ ├── boss_spider.py # Boss直聘爬虫 │ └── data_processor.py # 数据处理脚本 ├── static/ # 静态资源 │ ├── css/ # CSS样式 │ ├── js/ # JavaScript脚本 │ ├── vendor/ # 第三方库 │ └── img/ # 图片资源 ├── templates/ # HTML模板 │ ├── index.html # 首页 │ ├── job-speculate.html # 岗位匹配页面 │ ├── job-match-result.html # 岗位匹配结果页面 │ ├── salary-speculate.html # 薪资预测页面 │ ├── speculate-result.html # 薪资预测结果页面 │ └── ... # 其他模板 ├── models/ # 预训练模型 ├── data/ # 数据文件 └── README.md # 项目说明 ``` ## 💾 数据库设计 ### c_data表(岗位数据表) | 字段名 | 数据类型 | 描述 | |------------|--------|------------| | num | int | 主键ID | | name | varchar| 职位名称 | | province | varchar| 省份 | | city | varchar| 城市 | | area | varchar| 区域 | | detail | varchar| 详细地点 | | company | varchar| 公司名称 | | scale | varchar| 公司规模 | | min_salary | float | 最低薪资 | | max_salary | float | 最高薪资 | | avg_salary | float | 平均薪资 | | education | varchar| 学历要求 | | experience | varchar| 工作经验 | | label | varchar| 公司标签 | | skill | varchar| 技能要求 | | welfare | varchar| 福利 | ## 📈 核心算法 ### 岗位匹配算法 岗位匹配算法基于多维度计算匹配度,主要考虑因素包括: - **技能匹配度**:用户技能与岗位要求的重合度 - **地区匹配度**:用户期望地区与岗位地点的匹配程度 - **岗位方向匹配度**:用户期望职位与实际岗位的相关性 - **薪资匹配度**:岗位薪资是否符合用户期望 根据不同的优先策略(综合匹配、技能优先、地区优先、薪资优先),系统会动态调整各因素的权重。 ### 薪资预测模型 基于历史招聘数据训练的机器学习模型,考虑因素包括: - 职位方向 - 地区 - 学历 - 工作经验 - 技能组合 - 公司规模 模型通过分析这些因素对薪资的影响,预测用户在特定条件下的薪资区间。 ## 📊 页面展示 ### 首页 ![首页](/images/home.png) ### 薪资热力图 ![薪资热力图](/images/map.png) ### 岗位匹配结果页面 ![岗位匹配结果](/images/post-result.png) ### 薪资预测页面 ![薪资预测](/images/salary-predict.png) ![薪资预测结果](/images/salary-result.png) ## 🔍 大数据技术应用 本项目应用了多种大数据技术: 1. **数据采集**:分布式爬虫、IP代理池、请求频率控制 2. **数据处理**:文本标准化、关键词提取、自然语言处理 3. **数据存储**:关系型数据库设计、索引优化 4. **数据分析**:统计分析、聚类分析、相关性分析 5. **机器学习**:特征工程、模型训练、超参数优化 6. **数据可视化**:交互式图表、地理信息可视化 ## 🛠️ 安装与运行 ### 环境要求 - Python 3.8+ - MySQL 5.7+ ### 安装步骤 1. 克隆仓库 ```bash git clone https://github.com/yourusername/python-recruitment-analysis.git cd python-recruitment-analysis ``` 2. 安装依赖 ```bash pip install -r requirements.txt ``` 3. 配置数据库 ```bash # 导入数据库结构 mysql -u username -p database_name < database/structure.sql ``` 4. 运行应用 ```bash python app.py ``` 5. 访问应用 浏览器访问 `http://localhost:5000` ## 🌟 项目特色 1. **全面的数据分析**:多维度分析招聘市场数据,提供数据驱动的求职指导 2. **精准的岗位匹配**:基于用户条件和偏好,智能匹配最适合的岗位 3. **科学的薪资预测**:利用机器学习模型,提供客观的薪资预期 4. **直观的可视化展示**:通过丰富的图表,直观展示分析结果 5. **优化的用户体验**:友好的界面设计和交互体验,提升用户使用效率 ## 📝 未来发展方向 1. **算法优化**:不断优化岗位匹配和薪资预测算法,提升准确性 2. **数据扩展**:扩大数据采集范围,覆盖更多招聘平台和职位类型 3. **用户画像**:构建用户画像系统,提供更个性化的推荐 4. **社区功能**:增加用户互动和经验分享功能,形成就业信息社区 5. **移动端适配**:开发移动端应用,提升用户使用便捷性 ## 📄 许可证 本项目采用 [MIT 许可证](LICENSE) ## 🙏 致谢 - 感谢 [Boss直聘](https://www.zhipin.com/) 提供的数据来源 - 感谢所有为本项目提供帮助和建议的老师和同学 ---