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