15分鐘囱淋,教你用Python爬網(wǎng)站數(shù)據(jù)猪杭,并用BI可視化分析!

作為一名在數(shù)據(jù)行業(yè)打拼了兩年多的數(shù)據(jù)分析師妥衣,雖然目前收入還算ok皂吮,但每每想起房價交惯,男兒三十還未立届氢,內(nèi)心就不免彷徨不已~

兩年時間里曾經(jīng)換過一份工作衍慎,一直都是從事大數(shù)據(jù)相關的行業(yè)缴饭。目前是一家企業(yè)的BI工程師捐寥,主要工作就是給業(yè)務部門出報表和業(yè)務分析報告束倍。

回想自己過去的工作成績也還算是不錯的欠痴,多次通過自己分析告蚊锹,解決了業(yè)務的疑難雜癥熙暴,領導們各種離不開闺属。

但安逸久了總會有點莫名的慌張慌盯,所以我所在的這個崗位未來會有多大發(fā)展空間,十年之后我能成為什么樣的人呢掂器?自己的收入空間還有多少亚皂?

一番惆悵之后,別再問路在何方了国瓮,于是抄起自己的“家伙”灭必,花了一小會時間爬了智聯(lián)招聘上BI崗位的數(shù)據(jù)信息,做了個分析乃摹。

PS:所用工具為Python+BI

數(shù)據(jù)分析的過程如同燒一頓飯禁漓,先要數(shù)據(jù)采集(買菜),然后數(shù)據(jù)建模(配菜)孵睬、數(shù)據(jù)清洗(洗菜)播歼、數(shù)據(jù)分析(做菜)、數(shù)據(jù)可視化(擺盤上菜)掰读。

所以第一步秘狞,要采集/選擇數(shù)據(jù)。

一蹈集、Python爬取智聯(lián)招聘崗位信息(附源碼)

選擇智聯(lián)招聘烁试,通過Python來進行“BI工程師”的關鍵數(shù)據(jù)信息的爬取,這里大家也可以試著爬取自己崗位的關鍵詞拢肆,如“數(shù)據(jù)分析師”减响、“java開發(fā)工程師 ”等。經(jīng)過F12分析調(diào)試郭怪,數(shù)據(jù)是以JSON的形式存儲的支示,可以通過智聯(lián)招聘提供的接口調(diào)用返回。

本人對于Python學習創(chuàng)建了一個小小的學習圈子移盆,為各位提供了一個平臺悼院,大家一起來討論學習Python伤为。歡迎各位到來Python學習群:923414804一起討論視頻分享學習咒循。Python是未來的發(fā)展方向,正在挑戰(zhàn)我們的分析能力及對世界的認知方式绞愚,因此叙甸,我們與時俱進,迎接變化位衩,并不斷的成長裆蒸,掌握Python核心技術,才是掌握真正的價值所在糖驴。

那么我這邊通過Python對智聯(lián)招聘網(wǎng)站的數(shù)據(jù)進行解析僚祷,爬取了30頁數(shù)據(jù)佛致,并且將崗位名稱、公司名稱辙谜、薪水俺榆、所在城市、所屬行業(yè)装哆、學歷要求罐脊、工作年限這些關鍵信息用CSV文件保存下來。

附上完整Python源碼:

import requests

import json

import csv

from urllib.parse import urlencode

import time

def saveHtml(file_name,file_content): #保存conten對象為html文件

with open(file_name.replace('/','_')+'.html','wb') as f:

f.write(file_content)

def GetData(url,writer):#解析并將數(shù)據(jù)保存為CSV文件

response= requests.get(url)

data=response.content

saveHtml('zlzp',data) #保存html文件

jsondata=json.loads(data)

dataList=jsondata['data']['results']

#print(jsondata)

for dic in dataList:

jobName=dic['jobName'] #崗位名稱

company=dic['company']['name'] #公司名稱

salary=dic['salary'] #薪水

city=dic['city']['display'] #城市

jobtype = dic['jobType']['display'] #所屬行業(yè)

eduLevel=dic['eduLevel']['name'] #學歷要求

workingExp=dic['workingExp']['name'] #工作經(jīng)驗

print(jobName,company,salary,city,jobtype,eduLevel,workingExp)

writer.writerow([jobName,company,salary,city,jobtype,eduLevel,workingExp])

param={ 'start':0,

'pageSize':60,

'cityId':489,

'workExperience':-1,

'education':-1,

'companyType': -1,

'employmentType': -1,

'jobWelfareTag': -1,

'kw': 'BI工程師', #搜索關鍵詞蜕琴,可以根據(jù)你需要爬取的崗位信息進行更換

'kt': 3,

'lastUrlQuery': {"p":1,"pageSize":"60","jl":"681","kw":"python","kt":"3"}

}#參數(shù)配置

pages=range(1,31)#爬取1-30頁數(shù)據(jù)

out_f = open('test.csv', 'w', newline='')

writer = csv.writer(out_f)

writer.writerow(['jobName','company','salary','city','jobtype','eduLevel','workingExp'])

for p in pages: #自動翻頁

param['start']=(p-1)*60

param['lastUrlQuery']['p']=p

url = 'https://fe-api.zhaopin.com/c/i/sou?' + urlencode(param)

GetData(url,writer)

time.sleep(3)#間隔休眠3秒萍桌,防止IP被封

print(p)

out_f.close()

經(jīng)過一番編譯調(diào)試,代碼成功運行凌简。

全部數(shù)據(jù)爬取完畢上炎,一共1800條,保存在本地CSV文件中雏搂。

數(shù)據(jù)是爬到了反症,具體我想了解哪些信息呢:各城市的BI崗位需求情況以及薪資水平;薪水隨工作經(jīng)驗的漲幅情況畔派,以及有哪些具體的高薪崗铅碍。

由此可見,想要分析的角度很多线椰,且看了源數(shù)據(jù)胞谈,還要做不少的數(shù)據(jù)處理。最簡單快速出可視化的方法自然是用BI工具憨愉,來對數(shù)據(jù)做簡單清洗加工烦绳,并呈現(xiàn)可視化。

BI能應付絕大多數(shù)場景的數(shù)據(jù)分析配紫,尤其擅長多維數(shù)據(jù)切片径密,不需要建模;甚至數(shù)據(jù)清洗環(huán)節(jié)也能放在前端躺孝,通過過濾篩選享扔、新建計算公式等來解決。最后呈現(xiàn)可視化植袍,并可設計數(shù)據(jù)報告惧眠。

這里我用FineBI來做這樣一份分析。

FineBI做分析大體是這樣的流程:連接/導入數(shù)據(jù)——數(shù)據(jù)處理/清洗(過濾于个、篩選氛魁、新增公式列)——探索式分析——數(shù)據(jù)可視化——出報告。

二、數(shù)據(jù)清洗加工

1.薪水上下限分割:

將CSV文件數(shù)據(jù)導入FineBI中(新建數(shù)據(jù)鏈接秀存,建立一個分析業(yè)務包捶码,然后導入這張excel表)。因為薪水是以xxK-xxk(還有一些類似校招/薪資面議的數(shù)據(jù))的形式進行存儲的或链,我這邊使用FineBI新增公式列(類似excel函數(shù))將這些字符進行分割:

薪水下限(數(shù)值):left( indexofarray ( split (salary,"-") ,1),find( "K",INDEXOFARRAY( split(salary,"-") ,1))-1)

薪水上限(含K字符):right ( indexofarray( split(salary,"-") ,2),len(salary)- find("K",indexofarray(split(salary,"-"),2 ) ) )

薪水上限(數(shù)值):left( 薪水上限(文本),find("K",薪水上限(文本))-1 )

這樣就得到每個崗位的數(shù)值格式的薪水區(qū)間了:

2.臟數(shù)據(jù)清洗:

瀏覽了一下數(shù)據(jù)宙项,沒有大問題,但是發(fā)現(xiàn)里面有一些類似BIM工程師的崗位信息株扛,這些應該都是土木行業(yè)的工程師尤筐,這邊我直接過濾掉即可(不包含“BIM”且不包含“bim”)。

3.崗位平均數(shù)據(jù)計算

再新增列洞就,平均薪水=(薪水下限+薪水上限)/2盆繁,即可得到每個崗位的平均薪水。

4.真實城市截取

由于城市字段存儲有的數(shù)據(jù)為“城市-區(qū)域”格式旬蟋,例如“上海-徐匯區(qū)”油昂,為了方便分析每個城市的數(shù)據(jù),最后新增列“城市”倾贰,截取“-”前面的真實城市數(shù)據(jù)冕碟。

城市:if(find("-",city)>0 , left(city, find("-",city)-1 ),city)

至此,18000多條數(shù)據(jù)差不多清洗完畢匆浙,食材已經(jīng)全部準備好安寺,下面可以正式開始數(shù)據(jù)可視化的美食下鍋烹飪。

三首尼、數(shù)據(jù)可視化

數(shù)據(jù)可視化可以說是很簡單了挑庶,拖拽要分析的數(shù)據(jù)字段即可。

但是這里用finebi分析要理解一個思路软能。常規(guī)我們用excel做分析或者說做圖表迎捺,是先選用鉆則圖表然后設定系列、數(shù)值查排。這里沒有系列和數(shù)值的概念凳枝,只有橫軸和豎軸。拖入什么字段跋核,該字段就以該軸進行擴展岖瑰,至于圖表嘛,finebi會自動判別推薦了罪。

我這邊以各城市平均薪水/崗位數(shù)量分析為例給大家簡單展示FineBI的可視化呈現(xiàn)過程锭环。

1聪全、橫軸以“城市”字段擴展泊藕,展現(xiàn)兩類數(shù)據(jù)。先是薪水值,拖拽到縱軸娃圆,默認對數(shù)值類的字段是匯總求和的玫锋。點擊字段可直接對改字段修改計算、過濾等操作讼呢。

此圖來自官網(wǎng)撩鹿,圖中數(shù)據(jù)不是本次分析的數(shù)據(jù),僅供參考

2悦屏、然后分析每個城市BI崗位的情況节沦。將數(shù)據(jù)記錄數(shù)這個指標拖入到縱軸展示。同樣的方式础爬,可以修改字段名甫贯。這里為了區(qū)分兩者,將其修改為折線圖看蚜,并且倒敘展示叫搁。

同理,其他圖表也是這樣的操作供炎,想清楚展現(xiàn)什么樣的數(shù)據(jù)渴逻,怎樣展現(xiàn),數(shù)據(jù)要作何處理音诫。就得心應手了惨奕。其他圖表就不一一贅述了。

最后竭钝,大概花了15分鐘墓贿,一份完整的智聯(lián)招聘網(wǎng)站-BI工程師崗位數(shù)據(jù)分析的可視化報告就制作完成啦~

審美有限,只能做成這樣蜓氨,其實這個FineBI還能做出這樣的效果聋袋。

四、分析結(jié)果

1.目前BI工程師崗位在智聯(lián)招聘網(wǎng)站的平均薪資為13.46K(痛哭穴吹。幽勒。。拉低平均薪水的存在)港令,主要薪水區(qū)間大概在12-15K(占比27.07%)啥容,相關工作需求總數(shù)為634個(僅僅為某一天的招聘需求數(shù)據(jù))。

2.從城市崗位需求數(shù)量分布來看顷霹,BI工程師需求主要集中在北京咪惠、上海、深圳淋淀、廣州區(qū)域遥昧;各城市BI工程師平均薪水方面,去除崗位需求量較少的城市來看,國內(nèi)排在前面的分別為深圳(14.72K)炭臭、上海(14.59K)永脓、北京(14.51)、杭州(12.07K)鞋仍、成都(11.13K)常摧、廣州(10.94K)。

3.從工作年限的平均薪水和崗位需求數(shù)量來看威创,工作5-10年的資深BI工程師的平均薪水可以達到20K以上(朝資深BI工程師方向奮斗B湮纭!肚豺!1年以下年限的計算出來的平均薪水雖然為19K板甘,但是由于樣本量只有3個,所以參考意義不大)详炬,其中大部分的工作需求年限為3-5年盐类,平均薪水為14.24K。

4.從學歷方面來看呛谜,最低學歷需求主要以本科/大專為主在跳,本科和大專學歷要求的平均薪資分別為12.68K和11.97K(感覺差距并不大,過硬的技術實力可能才是企業(yè)最為看重的吧)隐岛,博士和碩士學歷需求很少猫妙。

5.看了一些高薪的招聘企業(yè),最高的可以給到30K~40K的薪酬水平聚凹,其中主要是互聯(lián)網(wǎng)割坠、IT類公司為主。

醍醐灌頂妒牙,頓時有了奮斗的動力~知識就是財富彼哼,繼續(xù)好好學習去吧,少年O娼瘛8抑臁!

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末摩瞎,一起剝皮案震驚了整個濱河市拴签,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旗们,老刑警劉巖蚓哩,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異上渴,居然都是意外死亡岸梨,警方通過查閱死者的電腦和手機喜颁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盛嘿,“玉大人洛巢,你說我怎么就攤上這事括袒〈握祝” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵锹锰,是天一觀的道長芥炭。 經(jīng)常有香客問我,道長恃慧,這世上最難降的妖魔是什么园蝠? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮痢士,結(jié)果婚禮上彪薛,老公的妹妹穿的比我還像新娘。我一直安慰自己怠蹂,他們只是感情好善延,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著城侧,像睡著了一般易遣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嫌佑,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天豆茫,我揣著相機與錄音,去河邊找鬼屋摇。 笑死揩魂,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的炮温。 我是一名探鬼主播肤京,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼茅特!你這毒婦竟也來了忘分?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤白修,失蹤者是張志新(化名)和其女友劉穎妒峦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兵睛,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡肯骇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年窥浪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笛丙。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡漾脂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胚鸯,到底是詐尸還是另有隱情骨稿,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布姜钳,位于F島的核電站坦冠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏哥桥。R本人自食惡果不足惜辙浑,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拟糕。 院中可真熱鬧判呕,春花似錦、人聲如沸送滞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽累澡。三九已至梦抢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間愧哟,已是汗流浹背奥吩。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蕊梧,地道東北人霞赫。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像肥矢,于是被迫代替她去往敵國和親端衰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 前言 BI全稱商業(yè)智能(Business Intelligence)甘改,在傳統(tǒng)企業(yè)中旅东,它是一套完整的解決方案。將企業(yè)...
    ghostdogss閱讀 781評論 0 2
  • 一個人站在圖書館的樓梯口向外望十艾,路燈把一對情侶的身影拉的好長好長抵代,一群人結(jié)伴走過,校園廣播放著熟悉的歌忘嫉,這時候荤牍,我...
    長一點閱讀 190評論 0 0
  • 昨晚聽媽媽講了一件傳奇的事案腺,如果不是發(fā)生在身邊,不是發(fā)生在認識的人身上康吵,我一定覺得是在聽故事劈榨。 我的一位表...
    悅媽讀書閱讀 415評論 5 3
  • 本周空吧學習分享在三分廠小會議室舉行,學習活法兩章節(jié)第一:心中存在真理的內(nèi)核晦嵌。第二災難消業(yè)該慶祝同辣。有小葉家人進行朗...
    武敬南閱讀 476評論 0 0
  • 你是不是羨慕哪些有思想深度的人,對一件事總有自己獨特的觀點耍铜,許多人學寫作邑闺,卻總感覺無話可說跌前,分析問題都是俗知俗見棕兼,...
    諸葛妙計閱讀 1,396評論 0 0