每年的三四月份是招聘高峰,也常被大家称为金三银四黄金求职期,这时候上一年的总结做完了,奖金拿到了,职场人开始谋划着年初的找工作大戏。
如何让伯乐和千里马更快相遇?做C++后台开发的我利用大数据分析了北京、上海、广州、深圳四个一线城市的C++岗位招聘信息,篇幅限制文中只拿出北京和深圳的数据展示,让我们来看看岗位的招聘现状,以及如何科学提高应聘成功率。
文末可以获取本次分析的完整高清图表,需要的同学自取。同时分享完整源码用于学习交流,若对其他岗位感兴趣也可以自行运行源码分析。
通过大数据分析招聘网站发布的招聘数据,得出岗位分布区域、薪资水平、岗位关键技能需求、匹配的人才具有哪些特点、学历要求。从而帮助求职者知己知彼,补齐短板,有的放矢的应对校招、社招,达成终极目标获得心仪的Offer。
数据分析是Python的强项,项目用Python实现。软件分为两大模块:数据获取和数据分析。
request库构造请求获取数据
   
   
     
    
    
           
     
       
      
      
        cookie = s.cookies
      
      
        
      
      
        req = requests.post(self.baseurl, headers=self.header, data={
      
      
        'first': 
      
      
        True, 
      
      
        'pn': i, 
      
      
        'kd':self.keyword}, params={
      
      
        'px': 
      
      
        'default', 
      
      
        'city': self.city, 
      
      
        'needAddtionalResult': 
      
      
        'false'},   cookies=cookie, timeout=
      
      
        3)
      
      
        
      
      
        text = req.json()
     
     
        
   
   
       
       
   
     
    
    
           
     
       
        
      
      with open(os.path.join(
      
      
        self.path, 
      
      
        '招聘_关键词_{}_城市_{}.csv'.format(
      
      
        self.keyword, 
      
      
        self.city)),                
      
      
        'w',newline=
      
      
        '', encoding=
      
      
        'utf-8-sig') 
      
      
        as f:
      
      
        
    f_csv = csv.DictWriter(f, 
      
      
        self.csv_header)
      
      
        
    f_csv.writeheader()
      
      
        
    f_csv.writerows(data_list)
     
     
        
   
   
       
    字段预处理
   
   
     
    
    
           
     
       
        
      
      df_all.rename({
      
      
        '职位名称': 
      
      
        'position'}, axis=
      
      
        1, inplace=
      
      
        True) 
      
      
        #axis=1代表index; axis=0代表column
      
      
        
 df_all.rename({
      
      
        '详细链接': 
      
      
        'url'}, axis=
      
      
        1, inplace=
      
      
        True)
      
      
        
 df_all.rename({
      
      
        '工作地点': 
      
      
        'region'}, axis=
      
      
        1, inplace=
      
      
        True)
      
      
        
 df_all.rename({
      
      
        '薪资': 
      
      
        'salary'}, axis=
      
      
        1, inplace=
      
      
        True)
      
      
        
 df_all.rename({
      
      
        '公司名称': 
      
      
        'company'}, axis=
      
      
        1, inplace=
      
      
        True)
      
      
        
 df_all.rename({
      
      
        '经验要求': 
      
      
        'experience'}, axis=
      
      
        1, inplace=
      
      
        True)
      
      
        
 df_all.rename({
      
      
        '学历': 
      
      
        'edu'}, axis=
      
      
        1, inplace=
      
      
        True)
      
      
        
 df_all.rename({
      
      
        '福利': 
      
      
        'welfare'}, axis=
      
      
        1, inplace=
      
      
        True)
      
      
        
 df_all.rename({
      
      
        '职位信息': 
      
      
        'detail'}, axis=
      
      
        1, inplace=
      
      
        True)
      
      
        
 df_all.drop_duplicates(inplace=
      
      
        True)
      
      
        
 df_all.index = range(df_all.shape[
      
      
        0]) 
     
     
        
   
   
       
       
   
     
    
    
      from pyecharts.charts import Bar
regBar = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))
regBar.add_xaxis(region.index.tolist())
regBar.add_yaxis("区域", region.values.tolist())
regBar.set_global_opts(title_opts=opts.TitleOpts(title="工作区域分布"),
                     toolbox_opts=opts.ToolboxOpts(),
                     visualmap_opts=opts.VisualMapOpts())
from pyecharts.commons.utils import JsCode
shBar = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))
shBar.add_xaxis(sala_high.index.tolist())
shBar.add_yaxis("区域", sala_high.values.tolist())
shBar.set_series_opts(itemstyle_opts={
            "normal": {
                "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                    offset: 0,
                    color: 'rgba(0, 244, 255, 1)'
                }, {
                    offset: 1,
                    color: 'rgba(0, 77, 167, 1)'
                }], false)"""),
                "barBorderRadius": [30, 30, 30, 30],
                "shadowColor": 'rgb(0, 160, 221)',
            }})
shBar.set_global_opts(title_opts=opts.TitleOpts(title="最高薪资范围分布"), toolbox_opts=opts.ToolboxOpts())
word.add("", [*zip(key_words.words, key_words.num)],
         word_size_range=[20, 200], shape='diamond')
word.set_global_opts(title_opts=opts.TitleOpts(title="岗位技能关键词云图"),
                     toolbox_opts=opts.ToolboxOpts())
   
   
      
   
   
     
    
    
      
    
    
      
   
   
      
   
   
     
    
    
      
   
   
       
    C++岗位区域分布,北京 VS 深圳
区域对比北京-深圳
北京的C++岗位数量上比深圳多,首都buff加持,并且集中分布在海淀区和朝阳区这两个区域,中关村位于海淀区,还有位于海淀区西北旺镇的后厂村,腾讯、滴滴、百度、新浪、网易这些互联网巨头扎堆,自然能提供更多的岗位。
深圳的岗位则集中在南山区,猜测鹅厂C++大厂在南山区贡献了重大份额,第二竟然在宝安区。
C++岗位学历分布,北京 VS 深圳
学历对比-北京-深圳
学历上两个城市的岗位中本科学历占比都是80%以上,北京岗位需求研究生占比和大专相当。可见大部分岗位本科学历即可胜任,或许能给即将毕业纠结考研还是工作的你一些参考。
如果你的学历是专科,那么需要加倍的努力,因为留给你的职位需求并不是很多。同时,从图表数据来看,深圳的岗位对大专生需求10%而对硕士仅占2%,或许专科生去深圳比去北京更加友好,emmm…仅供参考。
C++岗位薪资分布,薪资单位K。
北京最高薪资 VS 最低薪资
深圳最高薪资 VS 最低薪资
薪资对比没啥好说的,大家看图说话,只想说帝都果然财大气粗。
C++岗位关键技能词云,北京 VS 深圳
首先在脱离开发走上管理岗位之前,编程解决问题能力是最重要,可以看到「编程」能力在技能词云中占比最大。
原文链接:
https://blog.csdn.net/u011644231/article/details/104741589
☞64% 的企业未实现智能化,5 成公司算法工程师团队规模小于 10人,AI 工程师的机遇在哪里?
☞教你用 Android 做二次开发,识别率达到科大讯飞语音输入水平 | 原力计划