1. 程式人生 > >巧用 Python 找工作

巧用 Python 找工作

前言

近年來 Python 之火大家都有感而知,那親們知道北京的 Python 開發崗位、運維開發崗位招聘地域都是如何分佈的嗎?薪水如何?是否有前景等等,這些資料呢直接通過招聘資訊來了解到企業用人是最直接的,也是最簡單的途徑。

那本次將通過分享 Python 來抓取拉鉤的招聘資訊,然後加以分析,做一個北京的 Python 職位地域分佈、薪資範圍、福利待遇等維度出一個簡單的分析報告,希望能幫助到想在 Python 這片田地耕耘的童鞋在發展方向上有所參考。

用到的工具

使用 Python 的 requests 工具到招聘網站爬取我們想要的資料,分析和視覺化也使用 Python 的相關模組來實現,主要有如下:

  • Python 版本:Python 3.x
  • requests:發起請求,從網站抓取資料
  • math:數學運算函式,向上取整,這裡主要用於分析資料
  • time:時間模組,主要是控制爬蟲不會因為頻繁請求而被網站拉進小黑屋
  • pandas:資料抓取後使用該模組儲存為 csv 檔案到本地
  • matplotlib:視覺化畫圖
  • pylab:設定畫圖能顯示中文
  • wordcloud、scipy、jieba(字串分割成單詞):生成中文詞雲

如何進行資料抓取

使用 Chrome 開啟拉鉤網站,在網站輸入“Python開發” 職位,使用 “檢查” 功能檢視網頁原始碼。發現拉鉤有反爬機制,職位資訊並不在原始碼裡,而是在 JSON 檔案裡,因此直接通過 JSON 獲取資料即可。

 

 抓取資訊時,需要加上頭部資訊,才能獲取到資料。(原理很簡單:你得偽裝成一個 正常的 client 去請求網頁才能拿到想要的資料)

def get_json(url, num):
  '''從網頁獲取JSON,使用POST請求,加上頭部資訊'''
  headers = {
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36',
      'Host
': 'www.lagou.com', 'Referer':'https://www.lagou.com/jobs/list_python%E5%BC%80%E5%8F%91?labelWords=&;fromSearch=true&suginput=', 'X-Anit-Forge-Code': '0', 'X-Anit-Forge-Token': 'None', 'X-Requested-With': 'XMLHttpRequest' } data = { 'first': 'true', 'pn': num, 'kd': 'Python開發'} res = requests.post(url, headers=headers, data=data) res.raise_for_status() res.encoding = 'utf-8' # 得到包含職位資訊的字典 page = res.json() return page

 在搜尋結果的第一頁,我們可以從 JSON 裡讀取總職位數,按照每頁 15 個職位,獲得要爬取的頁數。再使用迴圈按頁爬取,將職位資訊彙總,輸出為 CSV格式。

 

序執行如下:

 

抓取結果如下:

 

資料視覺化畫圖展示

1、根據薪資製作直方圖

薪資比例描述和可視化出圖

    

2、根據崗位地域分佈製作餅圖

 

 

3、製作詞雲

將職位福利這一列資料進行彙總,按照詞語出現的頻率生成雲詞實現 Python 視覺化,以下是原圖和雲詞圖對比:

 

作者:Nick

某上市公司高階運維,業務運維負責人,主導運維自動化的開發與運維前沿技術的落地,曾就職中石油、魔秀科技,5年從業經驗,經歷了運維到運維開發的轉變。

 

獲取資料的方式如下:

Nick 分享<Python 分析拉鉤職位>

時間:2018-11-15

21:00-22:00

參與方式:掃碼新增小助手備註:公開課,會拉入直播分享群分享結束後會把資料分享給大家