基于Python的疫情后就业影响分析

2021-06-08 12:28张懿源武帅夏换丛楠
计算机时代 2021年1期
关键词:新冠疫情数据分析就业指导

张懿源 武帅 夏换 丛楠

摘  要: 二〇二〇年新冠疫情的出现,对我国的就业形势产生极大的冲击。为了帮助失业人员的再就业以及求职人员的择业,有必要对疫情后国内就业态势进行数据分析。文章利用Python爬取并处理招聘网站数据,再使用Origin对这些数据作可视化分析,展示疫情后国内招聘现状,为相关人员提供就业指导。

关键词: 就业指导; 新冠疫情; Python; 数据分析

中图分类号:TP399          文献标识码:A     文章编号:1006-8228(2021)01-128-04

Analyzing the post epidemic impact on employment with Python

Zhang Yiyuan1, Wu Shuai1, Xia Huan2, Cong Nan1

(1. School of Information, Guizhou University of Finance and Economics, Guiyang, Guizhou 550025, China;

2. Guizhou Key Laboratory of Simulation, Guizhou University of Finance and Economics)

Abstract: The emergence of COVID-19 epidemic in 2020 has had a great impact on the employment situation in China. In order to help the unemployed to find new jobs and the job seeker to choose jobs, it is necessary to analyze the domestic employment situation of the post epidemic in China. In this paper, Python is used to crawl and process the recruitment website data, and Origin is used to visually analyze the data, to show the current situation of domestic recruitment of the post epidemic, which provides relevant personnel with employment guidance.

Key words: employment guidance; COVID-19 epidemic; Python; data analysis

0 引言

由于今年的全球性突发卫生事件——新冠疫情的影响,对经济社会产生严重冲击,就业总量压力加剧,失业水平可能达到新高[1-2]。因此在目前我国疫情形势基本控制的情况下,有必要对目前国内招聘情况作出研究。

互联网作为海量数据的最主流载体之一,在目前招聘、就业的过程中,为求职人员提供了一条及其便捷的就业途径;而同时,大量信息的涌入却存在一定的局限性,让求职人员很难把握即时招聘市场的变化。本文以前程无忧网大数据岗位为例,运用有效的数据分析方法对所爬取的招聘信息进行相关研究分析,为求职人员提供一定的帮助。

1 爬虫工具与设计

1.1 網络爬虫

网络爬虫(Web Crawler),是一种按照一定的规则,自动地爬取万维网信息的程序或者脚本。网络爬虫通常从一个称为种子集的 URL 集合开始运行,它首先将这些URL全部放入到一个有序的待爬行队列里,按照一定的顺序从中取出URL并下载所指向的页面,分析页面内容,提取新的URL并存入待爬行URL队列中,如此重复上面的过程,直到URL队列为空或满足某个爬行终止条件,从而遍历Web[3-4]。

传统的搜索引擎会获取到大量与需求无关的信息,在这种情况下,如何高效地利用网络爬虫获取需求的信息为生活和工作提供便利,是当下需要研究的关键。

1.2 爬虫工具概述

Python作为大数据时代的一门语言,它是一种高级、解释、交互式和面向对象的开源脚本语言[5];同时它也具有易于学习、易于阅读、易于维护以及丰富的标准库和第三方库等优点。而在使用前,需要搭建好使用环境并选择一款合适的编译工具来完成爬虫的设计,本文中的爬虫是基于Python3.8环境基础的应用框架Scrapy设计完成的[6-7]。

1.3 爬虫的设计

爬虫系统的整体设计思路:①需要创建一个爬虫项目;②获取所有包含招聘信息网页的源码;③在每一页的网页源码中挖掘出与需求相匹配的信息,再将成功获取的信息存入CSV文件中,直至爬取工作完成。总结可得设计框架如图1所示。

整个爬取流程如下:①在Visual Studio Code中新建爬虫项目文件并调试好Python环境;②导入Scrapy爬虫框架;③设置待爬取网站列表,为爬取数据做好准备;④设置待爬取关键字key,本文中设置为“大数据”;⑤在前程无忧网站中挖掘出与所需信息匹配的URL;⑥依据挖掘出的URL设置需要爬取的网页地址;⑦设置爬取次数,本文中设置爬取网页数据200次;⑧提取所需数据信息,如:工作职位、工作地区、薪资等,并按照一定顺序排列;⑨建立CSV文件并将爬取的信息数据存入其中。这样研究数据就已获取,为下一步数据分析奠定基础。爬取获得的部分数据如图2所示。

2 数据分析

2.1 数据处理

通过对前程无忧网站上爬取了近期一万条大数据职位招聘数据,从获得的工作岗位、工作地点、薪资待遇等方面初步的了解目前疫情基本控制情况下大数据职位招聘概况。

由图2可知,爬取的数据中工作地区的格式有所不同,有的为“城市”格式,如“广州”;有的为“城市—区域”格式,如“重庆—江北区”;还有的为异地招聘或者为空;因此需要将格式进行统一,将“城市—区域”格式中“区域”去除,如将“北京—海淀区”中“海淀区”去除,转化为“北京”;并清理掉异地招聘和空白的数据。部分代码如下:

def locFormat(locality):

newLocality=[]

for loc in locality:

if '-'in loc:

newLoc=re.findall(re.compile('(\w*)-'),loc)[0]

else:

newLoc=loc

newLocality.append(newLoc)

return newLocality

同样如图2所示,在薪资一栏,爬取的数据格式也有出入,有的为“万/月”格式,如“1.5-2.5万/月”;有的为“千/月”格式,如“4.5-6千/月”;还有的为“万/年”格式,如“10-20万/年”;因此需将薪资格式规范化,统一为“千/月”格式,并将薪资拆分为最低薪资和最高薪资,如将“4.5-6千/月”转化为:最低薪资为4.5,最高薪资为6;同样需清理掉空白数据。部分代码如下:

def salaryCleaning(salary):

minSa, maxSa=[], []

for sa in salary:

if sa:

if '-'in sa:

minSalary=re.findall(re.compile('(\d*\.?\d+)'),sa)[0]

maxSalary=re.findall(re.compile('(\d?\.?\d+)'),sa)[1]

if u'万' in sa and u'年' in sa:

minSalary=float(minSalary)/12*10

maxSalary=float(maxSalary)/12*10

elif u'万' in sa and u'月' in sa:

minSalary=float(minSalary)*10

maxSalary=float(maxSalary)*10

else:

minSalary=re.findall(re.compile('(\d*\.?\d+)'),sa)[0]

maxSalary=""

if u'万' in sa and u'年' in sa:

minSalary=float(minSalary)/12*10

elif u'万' in sa and u'月' in sa:

minSalary=float(minSalary)*10

elif u'元'in sa and u'天'in sa:

minSalary=float(minSalary)/1000*21

else:

minSalary=""; maxSalary="";

minSa.append(minSalary); maxSa.append(maxSalary)

return minSa,maxSa

這种薪资规范化处理,能让择业人员便捷直观地了解到各个公司对该招聘岗位薪资的上下限,能更好地对不同公司进行对比,以此来做出选择。部分数据处理结果如图3所示。

2.2 数据分析结果

在今年新冠疫情基本控制的情况下,我国经济慢慢复苏,之前因疫情失业或择业人员可以在此时的招聘市场中寻找适合自己的工作,而如何在招聘市场中做出最佳的选择正是本文研究的目的。

研究可得,目前大数据岗位数前20的城市如图4所示。从图4可以看出,目前国内不同城市之间大数据岗位提供量还是有很大差别,其中需求量最多的前三名城市分别为:上海、广州和深圳,而紧随其后则是北京、杭州等一线或新一线城市。由此可见大多数的大数据岗位就业机会大多集中在一线或新一线城市,其余二线城市提供的就业岗位就有所欠缺;而目前北京提供就业机会相对较少的原因大概是6月份新冠疫情在北京二次爆发,导致北京又再次趋近于封城的状态,不过近日疫情状况有所好转,相信不久北京的大数据岗位就业机会将会大量提升;紧随其后的则是经济发展较快的杭州、成都、武汉、南京等城市,这几座城市相对剩下的城市而言,大数据岗位提供量也明显超出许多,由此可初步推断大数据岗位的就业机会与城市发展程度成正比,同样的,在发展程度较高的城市就业,职业提升发展潜力也相对增加。

同时,如图5所示前程无忧大数据岗位平均薪资前20名城市图。从可以看出,目前国内平均薪资最高的城市是蚌埠,平均薪资为40千元/月,其余较高的城市中也有一些非一线城市,比如怀化、株洲等,平均薪资也在30千元/月和25千元/月左右,而一线城市的平均薪资如上海,深圳,北京,则为18~20千元/月之间。由此可见,大数据岗位需求量多的城市其平均薪资不一定高,相反,大数据职位需求多的城市的平均薪资更低,而大数据职位需求少的城市的平均薪资更高。但这与城市经济发展程度对比相差过大,通过回顾之前爬取的数据处理结果,发现这些非一线城市提供的大数据岗位数仅为个位数,数据参考量不足,较一线城市相比,虽然薪资较高,但就业机会较少,职业提升发展潜力可能较差;而一线城市的薪资两极分化较大,导致平均薪资较少。求职人员可以依据自己的职业规划对就业城市做出选择,若想追求高薪资,可以选择非一线城市;若想追求职业提升发展潜力,可以选择一线城市。

3 结束语

综上所述,利用Python对疫情后前程无忧大数据岗位信息进行爬取,获得近期关于大数据岗位的工作地区、薪资待遇等一系列信息并加以处理分析,对相关求职人员的职务选择起到一定积极的作用。此种方法不仅适用于大数据岗位,同样适用于不同时期、多种行业,求职人员可以此把握招聘市场的总体走向,从而做出合理抉择。

参考文献(References):

[1] 程杰.新冠疫情对就业的影响及对策建议[J].中国发展观察,2020.Z2:40-42

[2] 莫榮,陈云,鲍春雷,黄湘闽.新冠疫情与非典疫情、国际金融危机对就业的影响与对策比较分析[J].中国劳动,2020.1:16-30

[3] 谢克武.大数据环境下基于python的网络爬虫技术[J].电子制作,2017.9:44-45

[4] 孙立伟,何国辉,吴礼发.网络爬虫技术的研究[J].电脑知识与技术,2010.6(15):4112-4115

[5] 郭丽蓉.基于Python的网络爬虫程序设计[J].电子技术与软件工程,2017.23:248-249

[6] Alan Winston. Python[M].Elsevier Inc.:2003-06-15.

[7] 韩贝,马明栋,王得玉.基于Scrapy框架的爬虫和反爬虫研究[J].计算机技术与发展,2019.29(2):139-142

[8] 刘宇,郑成焕.基于Scrapy的深层网络爬虫研究[J].软件,2017.38(7):111-114

收稿日期:2020-08-17

基金项目:贵州省科学技术基金(黔科合基础[2019]1041、黔科合基础[2019]1403、黔科合基础[2020]1Y279); 贵州省普通高等学校科技拔尖人才支持计划项目(黔教合KY字[2016]068); 贵州财经大学2019年度校级项目(2019XQN01)

作者简介:张懿源(1995-),男,辽宁抚顺人,硕士生,主要研究方向:信息服务、数据分析。

通讯作者:夏换(1982-),男,湖南永州人,博士,教授,主要研究方向:计算机仿真、大数据分析。

猜你喜欢
新冠疫情数据分析就业指导
大学生就业指导教育工作开展对策探讨
新冠疫情视阈下感悟“四个自信”国家共识
“心理成长任务包”助力学生安度疫情
关于疫情对地区经济金融影响情况的调研
新冠疫情对县域脱贫产业发展的影响及地方金融支持的建议
略谈开展大学生就业指导的重要性
新常态下集团公司内部审计工作研究
浅析大数据时代对企业营销模式的影响
大学生就业指导课教学模式的实践与探索
以人为本,深化高职院校就业指导工作