找工作必看,數(shù)據(jù)分析崗位信息爬取并可視化分析
本文轉(zhuǎn)載自微信公眾號「數(shù)據(jù)STUDIO」,作者云朵君。轉(zhuǎn)載本文請聯(lián)系數(shù)據(jù)STUDIO公眾號。
最近經(jīng)常收到人事小姐姐和獵頭小哥哥的面試邀請,想想最近也不是招聘旺季呀。但又想到許多小伙伴們有找工作這方面的需求,今天就來分享一篇簡單的爬蟲案例,旨在跟大家一起分析一下部分招聘市場。以"數(shù)據(jù)分析"為例。
需要用到的模塊
- import requests
- import time
- import random
- import os
- import requests
- from bs4 import BeautifulSoup
- import openpyxl
- import 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開始采集數(shù)據(jù)...')
- # 請求獲取返回值
- data = getData(url)
- # BeautifulSoup解析網(wǎng)頁
- 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]
- # 根據(jù)節(jié)點查詢相應(yīng)數(shù)據(jù)
- 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)
數(shù)據(jù)結(jié)果
獲取到數(shù)據(jù)之后,需要對原始數(shù)據(jù)進行一些簡單的清洗工作。清洗前需要先思考下你需要獲取哪些信息,有針對性的清洗。
一探究竟
本次可視化分析工具是 Pyecharts
從技能標簽找學(xué)習(xí)方向
將所有公司的技能標簽統(tǒng)計后,繪制前十的技能需求直方圖。從圖中很明顯地看到遙遙領(lǐng)先的分別是Python、SQL,數(shù)據(jù)分析思維及能力及Excel也緊跟其后。像小編做的數(shù)據(jù)挖掘技能需求量也不小。
似乎在數(shù)據(jù)分析職位中,Pythoner和SQL boy都是非常搶手的。
哪些城市的數(shù)分崗位更熱門
由全國地理圖可看的出,北上廣深加蘇州、廈門、杭州等都是很熱門的城市,你會選擇哪個城市?
全國都有哪些公司招聘數(shù)分職位
以公司名稱的大小來表示各個公司招聘職位數(shù),繪制招聘公司詞云圖。很明顯地看的出如騰訊、阿里、OPPO、Boss等大廠需求量較大,因此機會也多。所以大家學(xué)好數(shù)據(jù)分析,進入大廠不是夢。
談錢不傷感情
大家最關(guān)心的還是一個職位能給到我多少錢,比較還要養(yǎng)家糊口。
從全國各城市平均薪資排行榜看,遙遙領(lǐng)先的是北京、深圳、上海和杭州,分別是23K、19.7K、18.6K和18.5K。而小編所在的城市——成都,只有9K。文章不想寫了,我想靜靜。。。
看完各城市平均薪資,再來瞧瞧各個行業(yè)的平均薪資吧。人力資源服務(wù)及銀行這兩個行業(yè)均超過了20K。
首先隨機查看一個人力資源服務(wù)的,這類職位多為商業(yè)數(shù)據(jù)分析,該職位的特點是高學(xué)歷是硬性,但對于工具使用要求不高,只需熟練使用EXCEL即可,需要些管理經(jīng)驗。
再看看銀行行業(yè),薪資水平真香!雖然沒有說學(xué)歷要求,但可能是一個默認的情況吧。職位描述中多次提及到業(yè)務(wù)數(shù)據(jù),說明他對業(yè)務(wù)要求較高。需要會SQL語句,需要會搭建數(shù)據(jù)分析模型,這類模型不一定是機器學(xué)習(xí)模型,也會有很多統(tǒng)計類、數(shù)學(xué)類模型等等。
為啥北京公司的工資高
單獨分析下北京的數(shù)據(jù)分析公司情況,公司規(guī)模在1000-9999人占比第一,達到37.2%,10000人以上的公司也高達22.87%,都是些大廠,工資水平能不高么。
有人說,公司人多,不一定有錢吶。好嘛,再來看看他們公司的融資階段情況呢。D輪及以上上市的公司已經(jīng)接近一半了,多半都是有錢的主哇。
成都數(shù)據(jù)分析公司啥情況
占比最多的是20-99人的小型公司,規(guī)模在1000-9999人的公司僅有34家,跟首都簡直不能比。所以成都平均公司水平不過萬,也是有原因的。
再來看看公司融資情況,大部分都是未融資的,上市公司僅占12.75%,D輪及以上的也只有5.39%吶。但從另一個角度想想,成都的發(fā)展?jié)摿€是很大的。作為西南的重要樞紐城市,相信他會越來越棒的。
你還有啥想了解的——福利吶
最后再來看看大家比較關(guān)心的公司福利狀況。
通過繪制福利詞云圖,看到大部分公司的常見福利都還是有的。意外的是少部分公司有提供不一樣的福利,如無息住房借款、專屬健身房、孝順金等,真讓人羨慕哇。
寫在最后
最后多說兩句。我們上面分析的內(nèi)容僅是從一些常見的指標,并不能作為你入職一家公司的主要判斷依據(jù)。個人覺得還需要從一家公司的企業(yè)文化、公司發(fā)展方向、提供職位的發(fā)展空間、所處行業(yè)跟你預(yù)期是否符合等等方面綜合衡量。
打鐵還需自身硬,選擇都是雙向的,你想入職一個理想的公司,首先還是需要達到他的崗位要求。這里建議訂閱公眾號數(shù)據(jù)STUDIO,每天學(xué)習(xí)很多硬通貨,進入大廠不是夢。