在抓取網頁時,您需要添加標題信息來獲取所需的數據。
在搜索結果的第壹頁,我們可以從JSON中讀取總位置數,按照每頁15個位置,得到需要抓取的頁數。然後利用循環逐頁抓取,匯總位置信息,輸出為CSV格式。
程序運行如下圖所示:
抓取結果如圖:
數據清理占了數據分析工作量的大部分。在拉勾上尋找深圳“數據分析”的職位。我們有369個位置。當我看職位名稱時,我發現有4個實習職位。因為我們學的是全職崗位,所以先剔除實習崗位。因為工作經驗和工資都是字符串形式的區間,所以我們先用正則表達式提取值,以列表的形式輸出。平均工作經驗和四分位數工資接近現實。
4.詞雲
我們把工作福利壹欄的數據匯總,生成壹個字符串,按照詞頻生成壹個詞雲,實現python可視化。下面是原圖和雲這個詞的對比。可以看出,五險壹金在工作福利中出現的頻率最高,其次是平臺、福利、發展空間、彈性工作。
5.描述統計數據
可以看出,數據分析師的平均值為14.6K,中位數為12.5K,是壹個很有前途的職業。數據分析分散在各個行業,但在高級層面涉及數據挖掘和機器學習,在IT行業取得了長足的進步。
再來看工資的分配,這是求職的重要參考:
薪資10-15K的職位最多,其次是薪資15-20K的職位。依我拙見,10-15K的崗位以建模為主,20K以上的崗位以數據挖掘和大數據架構為主。
讓我們來看看各區的職位分布情況:
數據分析崗位南山區62.9%,福田區25.8%,其余分布在龍崗區、羅湖區、寶安區、龍華新區。我們可以看到南山區和福田區是深圳科技產業的中心。
我們希望得到薪資、工作經驗和學歷之間的關系。因為教育分為三類,所以我們需要設置三個啞變量:專科,本科,碩士。多元回歸的結果如下:
在0.05的顯著性水平上,F值為82.53,說明回歸關系顯著。t檢驗和對應的P值均小於0.05,說明工作經歷和三種學歷有統計學意義。另外,R平方的值為0.41,說明工作經歷和教育程度只解釋了41%的工資變動性。這就不難理解了,即使崗位都叫數據分析師,實際工作內容也大相徑庭,有的只是用Excel做基礎分析,有的用Python和R做數據挖掘。此外,每個公司的規模和願意提供的薪酬也不盡相同。但由於工作內容的差異和公司的慷慨程度,僅通過招聘網頁上的宣傳很難獲得實際數據,導致模型的擬合優度不是很好的現實。