最近经常收到人事小姐姐和猎头小哥哥的面试邀请,想想最近也不是招聘旺季呀。但又想到许多小伙伴们有找工作这方面的需求,今天就来分享一篇简单的爬虫案例,旨在跟大家一起分析一下部分招聘市场。以”数据分析”为例。

需要用到的模块

import requests import time import random import os import requests from bs4 import BeautifulSoup import openpyxl import numpy as np
12345678 import requestsimport timeimport randomimport osimport requestsfrom bs4 import BeautifulSoupimport openpyxlimport numpy as np

爬虫代码

本次爬虫难度不大,属于入门级别的,只要懂得requests请求,BeautifulSoup解析即可轻松上手,下面是本次爬虫的主要代码。

def getPosition(url):     times=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())     print(u'\n本地时间:',times)     print(u'\n开始采集数据...')     # 请求获取返回值     data = getData(url)     # BeautifulSoup解析网页     soup = BeautifulSoup(data.text, features='lxml')  # 对html进行解析,完成初始化     results = soup.find_all(attrs={'class': "job-list"})     job_list =  results[0].find_all(attrs={'class': "job-primary"})     lens = len(job_list)     for num in range(lens):         positions = []         job = job_list[num]         # 根据节点查询相应数据         positions.extend(job.find_all(attrs={'class': "job-title"})[0].text.split())         positions.append(job.find_all(attrs={'class': "job-limit"})[0].text.split()[0])         job_limit = job.find_all(attrs={'class': "job-limit"})[0]         positions.extend(str(job_limit.p).rstrip('</p>').lstrip('<p>').split('<em class="vline"></em>'))         positions.append(job.find_all(attrs={'class': "company-text"})[0].text.split()[0])         company = job.find_all(attrs={'class': "company-text"})[0].p         positions.extend(company.a.text.split())         positions.extend(str(company).rstrip('</p>').split('<em class="vline"></em>')[1:])         positions.extend(job.find_all(attrs={'class': "info-desc"})[0].text.split())         positions.append(','.join(job.find_all(attrs={'class': "tags"})[0].text.split()))         write_to_excel(positions)
1234567891011121314151617181920212223242526 def getPosition(url):    times=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())    print(u'\n本地时间:',times)    print(u'\n开始采集数据...')    # 请求获取返回值    data = getData(url)    # BeautifulSoup解析网页    soup = BeautifulSoup(data.text, features='lxml')  # 对html进行解析,完成初始化    results = soup.find_all(attrs={'class': "job-list"})    job_list =  results[0].find_all(attrs={'class': "job-primary"})    lens = len(job_list)    for num in range(lens):        positions = []        job = job_list[num]        # 根据节点查询相应数据        positions.extend(job.find_all(attrs={'class': "job-title"})[0].text.split())        positions.append(job.find_all(attrs={'class': "job-limit"})[0].text.split()[0])        job_limit = job.find_all(attrs={'class': "job-limit"})[0]        positions.extend(str(job_limit.p).rstrip('</p>').lstrip('<p>').split('<em class="vline"></em>'))        positions.append(job.find_all(attrs={'class': "company-text"})[0].text.split()[0])        company = job.find_all(attrs={'class': "company-text"})[0].p        positions.extend(company.a.text.split())        positions.extend(str(company).rstrip('</p>').split('<em class="vline"></em>')[1:])        positions.extend(job.find_all(attrs={'class': "info-desc"})[0].text.split())        positions.append(','.join(job.find_all(attrs={'class': "tags"})[0].text.split()))        write_to_excel(positions)

数据结果

获取到数据之后,需要对原始数据进行一些简单的清洗工作。清洗前需要先思考下你需要获取哪些信息,有针对性的清洗。

找工作必看,数据分析岗位信息爬取并可视化分析

 

一探究竟

本次可视化分析工具是 Pyecharts

从技能标签找学习方向

将所有公司的技能标签统计后,绘制前十的技能需求直方图。从图中很明显地看到遥遥领先的分别是Python、SQL,数据分析思维及能力及Excel也紧跟其后。像小编做的数据挖掘技能需求量也不小。

找工作必看,数据分析岗位信息爬取并可视化分析

 

似乎在数据分析职位中,Pythoner和SQL boy都是非常抢手的。

哪些城市的数分岗位更热门

找工作必看,数据分析岗位信息爬取并可视化分析

 

由全国地理图可看的出,北上广深加苏州、厦门、杭州等都是很热门的城市,你会选择哪个城市?

全国都有哪些公司招聘数分职位

以公司名称的大小来表示各个公司招聘职位数,绘制招聘公司词云图。很明显地看的出如腾讯、阿里、OPPO、Boss等大厂需求量较大,因此机会也多。所以大家学好数据分析,进入大厂不是梦。

找工作必看,数据分析岗位信息爬取并可视化分析

 

谈钱不伤感情

大家最关心的还是一个职位能给到我多少钱,比较还要养家糊口。

从全国各城市平均薪资排行榜看,遥遥领先的是北京、深圳、上海和杭州,分别是23K、19.7K、18.6K和18.5K。而小编所在的城市——成都,只有9K。文章不想写了,我想静静。。。

找工作必看,数据分析岗位信息爬取并可视化分析

 

看完各城市平均薪资,再来瞧瞧各个行业的平均薪资吧。人力资源服务及银行这两个行业均超过了20K。

找工作必看,数据分析岗位信息爬取并可视化分析

 

首先随机查看一个人力资源服务的,这类职位多为商业数据分析,该职位的特点是高学历是硬性,但对于工具使用要求不高,只需熟练使用EXCEL即可,需要些管理经验。

找工作必看,数据分析岗位信息爬取并可视化分析

 

再看看银行行业,薪资水平真香!虽然没有说学历要求,但可能是一个默认的情况吧。职位描述中多次提及到业务数据,说明他对业务要求较高。需要会SQL语句,需要会搭建数据分析模型,这类模型不一定是机器学习模型,也会有很多统计类、数学类模型等等。

找工作必看,数据分析岗位信息爬取并可视化分析

 

为啥北京公司的工资高

单独分析下北京的数据分析公司情况,公司规模在1000-9999人占比第一,达到37.2%,10000人以上的公司也高达22.87%,都是些大厂,工资水平能不高么。

找工作必看,数据分析岗位信息爬取并可视化分析

 

有人说,公司人多,不一定有钱呐。好嘛,再来看看他们公司的融资阶段情况呢。D轮及以上上市的公司已经接近一半了,多半都是有钱的主哇。

找工作必看,数据分析岗位信息爬取并可视化分析

 

成都数据分析公司啥情况

占比最多的是20-99人的小型公司,规模在1000-9999人的公司仅有34家,跟首都简直不能比。所以成都平均公司水平不过万,也是有原因的。

找工作必看,数据分析岗位信息爬取并可视化分析

 

再来看看公司融资情况,大部分都是未融资的,上市公司仅占12.75%,D轮及以上的也只有5.39%呐。但从另一个角度想想,成都的发展潜力还是很大的。作为西南的重要枢纽城市,相信他会越来越棒的。

找工作必看,数据分析岗位信息爬取并可视化分析

 

你还有啥想了解的——福利呐

最后再来看看大家比较关心的公司福利状况。

通过绘制福利词云图,看到大部分公司的常见福利都还是有的。意外的是少部分公司有提供不一样的福利,如无息住房借款、专属健身房、孝顺金等,真让人羡慕哇。

找工作必看,数据分析岗位信息爬取并可视化分析

 

写在最后

最后多说两句。我们上面分析的内容仅是从一些常见的指标,并不能作为你入职一家公司的主要判断依据。个人觉得还需要从一家公司的企业文化、公司发展方向、提供职位的发展空间、所处行业跟你预期是否符合等等方面综合衡量。

共 3 页 上一页 1 2 3 下一页