成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用Python分析深圳程序員工資有多高?還真是多金的程序員!

開發 后端
用Python告訴你深圳房租有多高 ,想繼續用 Python 分析一下,當前深圳的求職市場怎么樣?順便幫一下秋招的同學。于是便爬取了某拉鉤招聘數據。

前言

多圖預警、多圖預警、多圖預警。秋招季,畢業也多,跳槽也多。我們的職業發展還是要順應市場需求,那么各門編程語言在深圳的需求怎么呢?工資待遇怎么樣呢?zone 在上次寫了這篇文章之后 用Python告訴你深圳房租有多高 ,想繼續用 Python 分析一下,當前深圳的求職市場怎么樣?順便幫一下秋招的同學。于是便爬取了某拉鉤招聘數據。以下是本次爬蟲的樣本數據:

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

 

 

樣本

本次統計數據量為 4658 ,其中某拉鉤最多能顯示 30 頁數據,每頁 15 條招聘信息,則總為:

30 x 15 = 450

首頁爬取跳過一頁,則為 435 條,故數據基本爬完。其余不夠數量的語言為該語言在深圳只有這么多條招聘信息。

統計結果

各語言平均工資

其中

  • 精準推薦
  • 自然語言
  • 機器學習
  • Go 語言
  • 圖像識別

獨領風騷啊!!!平均工資都挺高的。區塊鏈炒得挺火的,好像平均薪資并沒有那么高。我統計完之后,感覺自己拖后腿了,ma 的!!!要刪庫跑路了!(注:下圖為月薪,單位:K)

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

各語言平均薪資

平均工資計算方式:

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

某鉤 item

***值與***值,求平均數,如圖薪資則為:

(10k + 20k)/2 = 15k

***,再總體求平均數。

公司福利詞云

看福利還是挺豐富的,帶薪休假、下午茶、零食、節假日。

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

福利詞云

公司發展級別排行

總體由 A 輪向 D 輪縮減,大部分公司不需要融資,嗯,估計是拿不到資本融資,但是自家人又有錢的。

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

公司發展級別

各語言工作年限要求與學歷要求

看看你的本命語言的市場需求怎么樣?你達標了嗎?其中三至五年的攻城獅職位挺多的,不怕找不到工作。還有一個趨勢是,薪資越高,學歷要求越高高。看來學歷還是挺重要的。

Java

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

Java 工作年限要求

 

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

Java 學歷要求

Python

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

Python 工作年限要求

 

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

Python 學歷要求

C 語言

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

C 語言工作年限要求

 

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

C 語言學歷要求

機器學習

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

機器學習工作年限要求

 

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

機器學習學歷要求

圖像識別

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

圖像識別工作年限要求

 

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

圖像識別學歷要求

自然語言

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

自然語言工作年限要求

 

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

自然語言學歷要求

區塊鏈

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

區塊鏈工作年限要求

 

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

區塊鏈學歷要求

Go 語言

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

Go 語言工作年限要求

 

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

Go

PHP

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

PHP 工作年限要求

 

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

PHP 學歷要求

爬蟲技術分析

  • 請求庫:selenium
  • HTML 解析:BeautifulSoup、xpath
  • 詞云:wordcloud
  • 數據可視化:pyecharts
  • 數據庫:MongoDB
  • 數據庫連接:pymongo

爬蟲代碼實現

看完統計結果之后,有沒有躍躍欲試?想要自己也實現以下代碼?以下為代碼實現。

對網頁右擊,點擊檢查,找到一條 item 的數據:

用Python分析深圳程序員工資有多高?還真是多金的程序員!

 

網頁源碼

數據庫存儲結構:


  1. /* 1 */ 
  2.  "_id" : ObjectId("5b8b89328ffaed60a308bacd"), 
  3.  "education" : "本科",# 學習要求 
  4.  "companySize" : "2000人以上",# 公司人數規模 
  5.  "name" : "python開發工程師",# 職位名稱 
  6.  "welfare" : "“朝九晚五,公司平臺大,發展機遇多,六險一金”",# 公司福利 
  7.  "salaryMid" : 12.5,# 工資上限與工資下限的平均數 
  8.  "companyType" : "移動互聯網",# 公司類型 
  9.  "salaryMin" : "10",# 工資下限 
  10.  "salaryMax" : "15",# 工資上限 
  11.  "experience" : "經驗3-5年",# 工作年限 
  12.  "companyLevel" : "不需要融資",# 公司級別 
  13.  "company" : "XXX技術有限公司"# 公司名稱 

由于篇幅原因,以下只展示主要代碼:

  1. # 獲取網頁源碼數據 
  2. # language => 編程語言 
  3. # city => 城市 
  4. # collectionType => 值:True/False True => 數據庫表以編程語言命名 False => 以城市命名 
  5. def main(self, language, city, collectionType): 
  6.  print(" 當前爬取的語言為 => " + language + " 當前爬取的城市為 => " + city) 
  7.  url = self.getUrl(language, city) 
  8.  browser = webdriver.Chrome() 
  9.  browser.get(url) 
  10.  browser.implicitly_wait(10) 
  11.  for i in range(30): 
  12.  selector = etree.HTML(browser.page_source) # 獲取源碼 
  13.  soup = BeautifulSoup(browser.page_source, "html.parser"
  14.  span = soup.find("div", attrs={"class""pager_container"}).find("span", attrs={"action""next"}) 
  15.  print( 
  16.  span) # <span action="next" class="pager_next pager_next_disabled" hidefocus="hidefocus">下一頁<strong class="pager_lgthen pager_lgthen_dis"></strong></span> 
  17.  classArr = span['class'
  18.  print(classArr) # 輸出內容為 -> ['pager_next''pager_next_disabled'
  19.  attr = list(classArr)[0] 
  20.  attr2 = list(classArr)[1] 
  21.  if attr2 == "pager_next_disabled":#分析發現 class 屬性為 ['pager_next''pager_next_disabled'] 時,【下一頁】按鈕不可點擊 
  22.  print("已經爬到***一頁,爬蟲結束"
  23.  break 
  24.  else
  25.  print("還有下一頁,爬蟲繼續"
  26.  browser.find_element_by_xpath('//*[@id="order"]/li/div[4]/div[2]').click() # 點擊【下一頁】按鈕 
  27.  time.sleep(5) 
  28.  print('第{}頁抓取完畢'.format(i + 1)) 
  29.  self.getItemData(selector, language, city, collectionType)# 解析 item 數據,并存進數據庫 
  30.  browser.close() 

爬蟲分析實現

  1. # 獲取各語言樣本數量 
  2. def getLanguageNum(self): 
  3.  analycisList = [] 
  4.  for index, language in enumerate(self.getLanguage()): 
  5.  collection = self.zfdb["z_" + language] 
  6.  totalNum = collection.aggregate([{'$group': {'_id''''total_num': {'$sum': 1}}}]) 
  7.  totalNum2 = list(totalNum)[0]["total_num"
  8.  analycisList.append(totalNum2) 
  9.  return (self.getLanguage(), analycisList) 
  10. # 獲取各語言的平均工資 
  11. def getLanguageAvgSalary(self): 
  12.  analycisList = [] 
  13.  for index, language in enumerate(self.getLanguage()): 
  14.  collection = self.zfdb["z_" + language] 
  15.  totalSalary = collection.aggregate([{'$group': {'_id''''total_salary': {'$sum''$salaryMid'}}}]) 
  16.  totalNum = collection.aggregate([{'$group': {'_id''''total_num': {'$sum': 1}}}]) 
  17.  totalNum2 = list(totalNum)[0]["total_num"
  18.  totalSalary2 = list(totalSalary)[0]["total_salary"
  19.  analycisList.append(round(totalSalary2 / totalNum2, 2)) 
  20.  return (self.getLanguage(), analycisList) 
  21. # 獲取一門語言的學歷要求(用于 pyecharts 的詞云) 
  22. def getEducation(self, language): 
  23.  results = self.zfdb["z_" + language].aggregate([{'$group': {'_id''$education''weight': {'$sum': 1}}}]) 
  24.  educationList = [] 
  25.  weightList = [] 
  26.  for result in results: 
  27.  educationList.append(result["_id"]) 
  28.  weightList.append(result["weight"]) 
  29.  # print(list(result)) 
  30.  return (educationList, weightList) 
  31. # 獲取一門語言的工作年限要求(用于 pyecharts 的詞云) 
  32. def getExperience(self, language): 
  33.  results = self.zfdb["z_" + language].aggregate([{'$group': {'_id''$experience''weight': {'$sum': 1}}}]) 
  34.  totalAvgPriceDirList = [] 
  35.  for result in results: 
  36.  totalAvgPriceDirList.append( 
  37.  {"value": result["weight"], "name": result["_id"] + " " + str(result["weight"])}) 
  38.  return totalAvgPriceDirList 
  39. # 獲取 welfare 數據,用于構建福利詞云 
  40. def getWelfare(self): 
  41.  content = '' 
  42.  queryArgs = {} 
  43.  projectionFields = {'_id'False'welfare'True} # 用字典指定 
  44.  for language in self.getLanguage(): 
  45.  collection = self.zfdb["z_" + language] 
  46.  searchRes = collection.find(queryArgs, projection=projectionFields).limit(1000) 
  47.  for result in searchRes: 
  48.  print(result["welfare"]) 
  49.  content += result["welfare"
  50.  return content 
  51. # 獲取公司級別排行(用于條形圖) 
  52. def getAllCompanyLevel(self): 
  53.  levelList = [] 
  54.  weightList = [] 
  55.  newWeightList = [] 
  56.  attrList = ["A輪""B輪""C輪""D輪及以上""不需要融資""上市公司"
  57.  for language in self.getLanguage(): 
  58.  collection = self.zfdb["z_" + language] 
  59.  # searchRes = collection.find(queryArgs, projection=projectionFields).limit(1000) 
  60.  results = collection.aggregate([{'$group': {'_id''$companyLevel''weight': {'$sum': 1}}}]) 
  61.  for result in results: 
  62.  levelList.append(result["_id"]) 
  63.  weightList.append(result["weight"]) 
  64.  for index, attr in enumerate(attrList): 
  65.  newWeight = 0 
  66.  for index2, level in enumerate(levelList): 
  67.  if attr == level
  68.  newWeight += weightList[index2] 
  69.  newWeightList.append(newWeight) 
  70.  return (attrList, newWeightList)  

 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2018-01-26 17:35:56

前端程序員月薪

2020-03-02 15:15:37

程序員工資協議

2018-07-17 11:10:47

程序員工資行業

2014-10-15 13:02:44

程序員工資信息圖

2021-01-13 15:07:30

程序員工資互聯網

2011-04-18 08:31:54

2018-05-31 15:22:53

程序員女程序男性程序員

2018-11-22 10:53:30

程序員技能開發者

2013-08-20 09:33:59

程序員

2013-08-14 10:34:39

.NET程序員工資低.NET程序員

2020-09-01 14:21:27

程序員薪水開發

2011-04-19 09:59:47

工資程序員

2011-05-13 14:34:02

程序員

2012-03-06 09:22:46

程序員

2020-01-10 17:29:12

IT開發者程序員

2019-09-18 15:32:05

程序員工資統計

2018-05-29 22:38:49

AI程序員代碼

2012-11-22 14:00:26

程序員

2017-11-14 21:30:15

2009-05-21 15:58:12

程序員工作經驗職場
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区在线观看 | 亚洲精品一区二区三区蜜桃久 | 一区二区三区在线看 | 一级无毛片 | 亚洲精品黄色 | 日韩一及片 | www.精品国产 | 国产精品一级在线观看 | 久色| 亚洲欧美自拍偷拍视频 | 色婷婷精品国产一区二区三区 | 午夜亚洲| 美人の美乳で授乳プレイ | 在线成人精品视频 | 成人不卡 | 午夜精品久久久久久久久久久久 | 日韩高清中文字幕 | 久久91精品国产一区二区三区 | 97色在线观看免费视频 | 欧美一区二区三区国产精品 | 99久久夜色精品国产亚洲96 | 欧产日产国产精品视频 | 亚洲精品日韩在线 | 日韩视频免费在线 | 99国内精品久久久久久久 | 人人做人人澡人人爽欧美 | 日本久久网 | 久久www免费视频 | 欧美一区二区在线观看视频 | 日韩精品一区二区三区中文在线 | 丝袜一区二区三区 | 一本大道久久a久久精二百 国产成人免费在线 | 久久久久国色av免费观看性色 | 激情一区二区三区 | 亚洲成人一级 | 欧美韩一区二区三区 | 亚洲乱码一区二区三区在线观看 | 99re视频在线免费观看 | 91久久精品 | 欧美在线一区二区三区 | 亚洲人免费视频 |