欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

程序员文章站 2022-04-13 08:57:22
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 分析背景 随着近年来人工智能和大数据的火热,越来越多的人想要从事或转行数据分析师,大家对于此行业如此的热爱,主要原因就是薪资客观,有发展前景。 以我浅薄的工作经验,来谈谈对数 ......

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

分析背景

随着近年来人工智能和大数据的火热,越来越多的人想要从事或转行数据分析师,大家对于此行业如此的热爱,主要原因就是薪资客观,有发展前景。

以我浅薄的工作经验,来谈谈对数据分析师的看法,此行业一直存在一个争议,到底是工具重要还是业务水平重要,即工具党和业务党,先站队,我是业务党(以前是工具党)。虽然我大部分时间都在做数据处理工作,这个能力也是必须的,无论是简单的excel,sql,ppt还是复杂的r,python,finebi,finereport,hive都有涉及,但是市面上有太多的分析工具,你不能全部掌握完,而各行业的业务知识是基本相同的。一个业务知识经验的数据分析师看见一堆数据,会清楚地知道从什么角度来分析,数据呈现状况如何,数据是否异常,出现异常原因在那,数据可以解决那些问题,数据适用于那些场景,他会有一个完整的数据分析思路。所以说一个合格的数据分析师是能从一堆数据中找出有价值的信息。

回到正题,数据分析的‘钱’景到底如何呢,本文将从boos招聘网站上近期招聘的数据分析师岗位来进行分析,涉及到工作城市,工作经验,薪资水平,技能要求等内容。

 

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

数据分析

本次获取的岗位数据量为17485,只保留数据分析岗位的数据量为5616,,本次数据工具为selenium,分析的工具为pandas,绘图工具为pyecharts,数据的最终呈现形式为

 

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

综合今年的招聘市场需求考虑,本次对于数据分析师岗位的分析,将从以下几点进行

  1. 岗位所在城市
  2. 学历要求
  3. 工作年限要求
  4. 薪资分布
  5. 数据分析师岗位技能要求
  6. 主要招聘行业
  7. 主要招聘公司
  8. 招聘公司福利展示

1、岗位所在城市

 

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

由于数据分析师岗位的特殊,分析城市主要集中在一线和新一线城市,可以看出招聘需求最高的是北上广浙,其他新一线城市对于此岗位需求不大,不过随着经济的发展,大多数公司对于数据的需求就会变大,相应的岗位需求就会变多

2、学历要求

 

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

从学历要求上可以看出,对于数据分析师本科学历占比达到77.66%

3、工作年限要求

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

从工作年限要求来看,数据分析师岗位对于从事此工作1-5年的人来说比较受欢迎,整体呈现一种正态分布的状态。

4、薪资分布

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

从薪资上来看,本次对于薪资的处理主要是从薪资空间中取最大,最小两个值(例如8-15k,取值为8k和15k),薪资分布出现略高情况,为避免新一线城市被一线城市平均化,将对比上海和郑州两个城市,额........,下图已经可以说明问题了

 

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

 

5、数据分析师岗位技能要求

 

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

对于技能要求来说,出现频率最多的是数据挖掘、数据分析、python、数据仓库、商业分析、hive、大数据等词。可以看出数据分析师对于数据分析工具和业务水平都比较看重。

6、主要招聘行业

 

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

 

从招聘行业来看,需求最大的是互联网、电子商务、数据服务、金融等行业,主要原因是这些行业会产生大量的数据。人口红利已过,下沉市场都被攻略,现在都在讲究精细化运营,所以对于互联网行业来说,每一个用户都变得非常重要,而数字化用户可以更优的运营,所以这些行业对于数据分析师的岗位需求非常大,以后会更大

 

7、主要招聘公司

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

招聘需求最多的还是大公司

 

8、招聘公司福利展示

 Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

 

大多数公司的福利都是五险一金和带薪年假,节日福利等,不过这5616招聘公司中有860个是没有福利的,还看到做六休一是公司福利,996都变成福报了,看来对于任何行业来说,打工都是有风险的。打工是不可能打工的,只能另谋出路了 (附:职业规划)

 

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

数据抓取

数据来源为boos直聘招聘网站,对于boos网站主要的反爬措施是动态cookie,主要是cookie加密字段__zp_stoken__逆向解密,我没搞定。。。,只能使用selenium自动化爬取了,反正数据搞下来了,o(∩_∩)o哈哈~

 

Python数据分析师分析自己前程,他仿佛看到了悲惨的未来

 

代码展示:

from selenium import webdriver
import time
from urllib import parse
import string
from lxml import etree
import csv


def get_parse(driver):
    htmls=driver.page_source
    html=etree.html(htmls)
    items = html.xpath('//div[@class="job-list"]/ul/li')
    d=[]
    try:
        for item in items:
            zhiwei=item.xpath('.//div[@class="job-title"]/span[@class="job-name"]/a/text()')[0]
            diliweizhi = item.xpath('.//span[@class="job-area"]/text()')[0]
            xinzi = item.xpath('.//span[@class="red"]/text()')[0]
            gongzuonianxian = item.xpath('.//div[@class="job-limit clearfix"]/p/text()')[0]
            xueli = item.xpath('.//div[@class="job-limit clearfix"]/p/text()')[1]
            yaoqiu = item.xpath('.//div[@class="tags"]/span/text()')[0]
            yaoqiu1 = item.xpath('.//div[@class="tags"]/span/text()')[1]
            try:
                yaoqiu2 = item.xpath('.//div[@class="tags"]/span/text()')[2]
            except:
                yaoqiu2=' '
            try:
                yaoqiu3 = item.xpath('.//div[@class="tags"]/span/text()')[3]
            except:
                yaoqiu3 = ' '
            try:
                yaoqiu4 = item.xpath('.//div[@class="tags"]/span/text()')[4]
            except:
                yaoqiu4=' '
            gongsi = item.xpath('.//div[@class="company-text"]/h3/a/text()')[0]
            try:
                hangye = item.xpath('.//div[@class="company-text"]/p/a/text()')[0]
            except:
                pass
            try:
                gongsidaxiao1 = item.xpath('.//div[@class="company-text"]/p/text()')[0]
            except:
                gongsidaxiao1=' '
            try:
                gongsidaxiao2 = item.xpath('.//div[@class="company-text"]/p/text()')[1]
            except:
                gongsidaxiao2=' '
            try:
                fuli = item.xpath('.//div[@class="info-desc"]/text()')[0]
            except:
                fuli=' '
            print(zhiwei, diliweizhi, xinzi, gongzuonianxian, xueli, yaoqiu,yaoqiu1,yaoqiu2,yaoqiu3,yaoqiu4, gongsi, hangye, gongsidaxiao1,gongsidaxiao2,fuli)
            data=[zhiwei, diliweizhi, xinzi, gongzuonianxian, xueli, yaoqiu,yaoqiu1,yaoqiu2,yaoqiu3,yaoqiu4, gongsi, hangye, gongsidaxiao1,gongsidaxiao2,fuli]
            d.append(data)
    except:
        pass
    save(d)


def save(data):
    with open('./boss2.csv','a',newline='',encoding='utf-8')as f:
        writer=csv.writer(f)
        writer.writerows(data)


def main():
    header=['职位','区域','薪资','工作年限','学历要求','技能要求1','技能要求2','技能要求3','技能要求4','技能要求5','公司名称','行业','公司状况','公司大小','福利']
    with open('./boss2.csv', 'a', newline='', encoding='utf-8')as f:
        writer = csv.writer(f)
        writer.writerow(header)
    chromedriver_path='c:/users/10489/desktop/chromedriver_win32/chromedriver.exe'
    # 使用chrome驱动器
    options = webdriver.chromeoptions()
    # 设置为开发者模式,防止被各大网站识别出来使用了selenium
    options.add_experimental_option('excludeswitches', ['enable-automation'])
    driver = webdriver.chrome(executable_path=chromedriver_path, options=options)
    a='数据分析师'
    position=parse.quote(a, safe=string.printable)
    # 北京、上海、广州、深圳、杭州、天津、西安、苏州、武汉、厦门、长沙、成都、郑州、重庆
    city=['101010100','101020100','101280100','101280600','101210100','101030100','101110100','101190400','101200100','101230200','101250100','101270100','101180100','101040100']
    for j in city:
        # 应届生、1年以内、1-3年、3-5年、5-10年、10年以上
        # https://www.zhipin.com/c101020100/e_103/?query={}&ka=sel-exp-102
        # https://www.zhipin.com/c101020100/e_103/?query={}&ka=sel-exp-103
        # https://www.zhipin.com/c101020100/e_103/?query={}&ka=sel-exp-104
        # https://www.zhipin.com/c101020100/e_103/?query={}&ka=sel-exp-105
        # https://www.zhipin.com/c101020100/e_103/?query={}&ka=sel-exp-106
        # https://www.zhipin.com/c101020100/e_103/?query={}&ka=sel-exp-107
        for i in range(2,8):
            driver.get('https://www.zhipin.com/c{}/e_10{}/?query={}&ka=sel-exp-10{}'.format(j,i,position,i))
            # driver.get('https://www.zhipin.com/job_detail/?query={}&city=101020100&industry=&position='.format(position))
            driver.maximize_window()
            time.sleep(10)
            get_parse(driver)
            try:
                while true:
                    time.sleep(5)
                    driver.execute_script("window.scrollto(0,6000)")
                    time.sleep(10)
                    driver.find_element_by_xpath('//a[@class="next"]').click()
                    get_parse(driver)
            except:
                pass


if __name__ == '__main__':
    main()

不管你是零基础还是有基础都可以获取到自己相对应的学习礼包!包括python软件工具和2020最新入门到实战教程。加群695185429即可免费获取。