本系统是基于Python Django框架构建的“Boss直聘”数据采集与分析预测系统,旨在通过技能匹配的方式对招聘信息进行分析与预测,帮助求职者根据自身技能找到最合适的职位,同时为招聘方提供更精准的候选人推荐。系统的核心预测模型基于职位需求技能与求职者技能之间的匹配度来计算得分,并对职位进行排序和推荐。
1. 数据采集
数据采集部分通过爬虫技术从“Boss直聘”网站获取真实的招聘数据,包括职位名称、公司信息、工作地点、薪资范围、职位要求(技能要求)、职位类型等字段。爬取的数据被存储为CSV格式,便于后续分析与处理。数据的采集过程包括处理反爬虫机制,保证数据的完整性和实时性。
2. 数据预处理与特征提取
在数据采集完成后,系统对职位要求中的技能信息进行预处理。由于职位要求的技能通常以文本形式存在,系统采用文本处理技术对技能进行分词、去除停用词、标准化处理等。通过正则表达式和自然语言处理技术,系统从职位描述中提取出核心技能,并将其转化为结构化数据,形成职位与技能之间的关系。
3. 预测模型
预测模型的核心是基于技能匹配的得分计算。系统使用了一个权重向量模型,每个职位的技能要求与特定技能的权重值存储在向量中。当求职者输入自身技能时,模型会计算每个职位与求职者技能的匹配得分。得分越高,表示职位对该技能的需求越强。通过这种方式,模型能够根据求职者的技能组合为其推荐最合适的职位。
模型的实现使用了Python的Pandas库来处理数据,并通过Pickle模块保存职位的技能权重向量。Score_model类是模型的核心,其中包括了技能得分计算和职位推荐的逻辑。系统将技能匹配得分进行排序,并根据得分筛选出最匹配的职位。
4. 系统功能
系统通过Django框架提供Web接口,用户可以通过前端页面提交自己的技能列表,系统根据输入的技能计算并返回最匹配的职位。用户还可以查看职位的详细信息、薪资范围及公司背景等。同时,系统还提供了职位预测的准确性评估功能,用户可以根据预测结果了解模型的效果。
5. 性能评估
系统通过测试数据集对模型进行性能评估,计算准确率。准确率是通过比较模型预测的职位与实际职位类型的匹配情况来得出的。评估结果表明,模型能够较为准确地推荐与求职者技能相匹配的职位,具有较高的实用性。
技术栈:
Django+boostrap+mysql+websocket
在线爬虫
进入”在线爬取“模块,点击开始爬虫,自动与后端建立websocket连接,前端页面显示爬虫的实时爬取信息状态点击停止爬虫,关闭websocket,想要停止爬虫的时候,一定要点击停止爬虫,不要切换页面,如果切换页面爬虫程序是依然在后台运行的,会导致影响其他模块。
另外,back/utils/boss_single.py这个文件是可以脱离django项目单独运行的boss直聘爬虫,如果以前端的方式爬虫较慢的话,可以先执行此py文件单独将数据爬取下来,然后启动项目,跳过在线爬虫模块,直接进行数据预处理模块,是一样的,只不过形式不同。
注意:由于其他模块的数据都依赖于此功能模块,务必保证爬虫完整运行,最好不要中途停止,否则影响数据预处理与数据分析、职业预测,同时不要关闭自动弹出的chrome浏览器,否则爬虫运行失败。(点击停止爬虫,稍等一会才会自动停止,同时chrome浏览器会自动关闭)
运行效果: