偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

前言

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

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

 

 

 

樣本

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

30 x 15 = 450

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

統(tǒng)計結(jié)果

各語言平均工資

其中

  • 精準(zhǔn)推薦
  • 自然語言
  • 機器學(xué)習(xí)
  • Go 語言
  • 圖像識別

獨領(lǐng)風(fēng)騷?。。?!平均工資都挺高的。區(qū)塊鏈炒得挺火的,好像平均薪資并沒有那么高。我統(tǒng)計完之后,感覺自己拖后腿了,ma 的?。?!要刪庫跑路了?。ㄗⅲ合聢D為月薪,單位:K)

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

 

各語言平均薪資

平均工資計算方式:

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

 

某鉤 item

***值與***值,求平均數(shù),如圖薪資則為:

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

***,再總體求平均數(shù)。

公司福利詞云

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

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

 

福利詞云

公司發(fā)展級別排行

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

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

 

公司發(fā)展級別

各語言工作年限要求與學(xué)歷要求

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

Java

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

 

Java 工作年限要求

 

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

 

Java 學(xué)歷要求

Python

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

 

Python 工作年限要求

 

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

 

Python 學(xué)歷要求

C 語言

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

 

C 語言工作年限要求

 

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

 

C 語言學(xué)歷要求

機器學(xué)習(xí)

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

 

機器學(xué)習(xí)工作年限要求

 

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

 

機器學(xué)習(xí)學(xué)歷要求

圖像識別

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

 

圖像識別工作年限要求

 

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

 

圖像識別學(xué)歷要求

自然語言

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

 

自然語言工作年限要求

 

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

 

自然語言學(xué)歷要求

區(qū)塊鏈

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

 

區(qū)塊鏈工作年限要求

 

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

 

區(qū)塊鏈學(xué)歷要求

Go 語言

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

 

Go 語言工作年限要求

 

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

 

Go

PHP

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

 

PHP 工作年限要求

 

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

 

PHP 學(xué)歷要求

爬蟲技術(shù)分析

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

爬蟲代碼實現(xiàn)

看完統(tǒng)計結(jié)果之后,有沒有躍躍欲試?想要自己也實現(xiàn)以下代碼?以下為代碼實現(xiàn)。

對網(wǎng)頁右擊,點擊檢查,找到一條 item 的數(shù)據(jù):

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

 

網(wǎng)頁源碼

數(shù)據(jù)庫存儲結(jié)構(gòu):


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

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

  1. # 獲取網(wǎng)頁源碼數(shù)據(jù) 
  2. # language => 編程語言 
  3. # city => 城市 
  4. # collectionType => 值:True/False True => 數(shù)據(jù)庫表以編程語言命名 False => 以城市命名 
  5. def main(self, language, city, collectionType): 
  6.  print(" 當(dāng)前爬取的語言為 => " + language + " 當(dāng)前爬取的城市為 => " + 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) # 輸出內(nèi)容為 -> ['pager_next''pager_next_disabled'
  19.  attr = list(classArr)[0] 
  20.  attr2 = list(classArr)[1] 
  21.  if attr2 == "pager_next_disabled":#分析發(fā)現(xiàn) class 屬性為 ['pager_next''pager_next_disabled'] 時,【下一頁】按鈕不可點擊 
  22.  print("已經(jīng)爬到***一頁,爬蟲結(jié)束"
  23.  break 
  24.  else
  25.  print("還有下一頁,爬蟲繼續(xù)"
  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 數(shù)據(jù),并存進數(shù)據(jù)庫 
  30.  browser.close() 

爬蟲分析實現(xiàn)

  1. # 獲取各語言樣本數(shù)量 
  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. # 獲取一門語言的學(xué)歷要求(用于 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 數(shù)據(jù),用于構(gòu)建福利詞云 
  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)  

 

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2018-01-26 17:35:56

前端程序員月薪

2020-03-02 15:15:37

程序員工資協(xié)議

2018-07-17 11:10:47

程序員工資行業(yè)

2014-10-15 13:02:44

程序員工資信息圖

2021-01-13 15:07:30

程序員工資互聯(lián)網(wǎng)

2011-04-18 08:31:54

2018-11-22 10:53:30

程序員技能開發(fā)者

2018-05-31 15:22:53

程序員女程序男性程序員

2013-08-20 09:33:59

程序員

2013-08-14 10:34:39

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

2020-09-01 14:21:27

程序員薪水開發(fā)

2011-04-19 09:59:47

工資程序員

2011-05-13 14:34:02

程序員

2020-01-10 17:29:12

IT開發(fā)者程序員

2012-03-06 09:22:46

程序員

2019-09-18 15:32:05

程序員工資統(tǒng)計

2018-05-29 22:38:49

AI程序員代碼

2017-11-14 21:30:15

2012-11-22 14:00:26

程序員

2009-05-21 15:58:12

程序員工作經(jīng)驗職場
點贊
收藏

51CTO技術(shù)棧公眾號