Python 起薪和均資都高於 Java?

本文爬取了某直聘網站上Python和Java的招聘信息,比較了兩個方向的發展前(錢)途 ,為本科生的就業方向給一個小小的建議。

(轉自CSDN)


爬取


在招聘網站上直接以”本科生”和”Java”或”Python”作為篩選條件,以廣州為例:


Python 起薪和均資都高於 Java?


爬取招聘的大體信息,具體代碼如下:

 1from bs4 import BeautifulSoup
2import requests
3import pymongo
4
5client = pymongo.MongoClient('localhost', 27017)
6zhipin = client['zhipin']
7zhipin_java = zhipin['zhipin_java']
8zhipin_python = zhipin['zhipin_python']
9
10
11headers = {
12 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36',
13 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
14}
15
16total_page = 11
17
18
19def get_info(param, data_table):
20 '''
21 根據招聘方向(java或python..)爬取信息存進數據庫
22 :param param: 招聘方向
23 :param data_table: 數據庫表明
24 :return:
25 '''
26 for i in range(1, total_page):
27 url = 'https://www.zhipin.com/c101280100/d_203-h_101280100/?query={0}&page={1}'.format(
28 param, i)
29 web_data = requests.get(url, headers=headers)
30 soup = BeautifulSoup(web_data.content, 'lxml')
31 for item in soup.select('#main > div > div.job-list > ul > li'):
32 # 招聘要求
33 job_title = item.select('.job-title')[0].text # 崗位
34 salary = item.select('.red')[0].text # 薪資
35 person_info = item.select('.info-primary p')[0].text # 應聘要求
36 # 獲取公司信息
37 company = item.select('.info-company h3 a')[0].text # 公司

38 company_info = item.select('.info-company p')[0].text # 公司信息
39
40 data = {
41 'job_title': job_title,
42 'salary': salary,
43 'person_info': person_info,
44 'company': company,
45 'company_info': company_info,
46 }
47 # 插入數據庫
48 data_table.insert(data)
49 print(data)
50 print('*' * 100)
51 print('\n' * 5)
52
53
54if __name__ == '__main__':
55 param_list = ['java', 'python']
56 table_list = [zhipin_java, zhipin_python]
57 for param, table in zip(param_list, table_list):
58 get_info(param, table)

爬取的信息全部存在MongoDB中,便於後面的分析處理。


數據清洗


在數據處理這裡定義了幾個方法,用來處理相應的內容。

  • 初始變量
1import pymongo
2client = pymongo.MongoClient('localhost', 27017)
3zhipin = client['zhipin']

4zhipin_java = zhipin['zhipin_java']
5zhipin_python = zhipin['zhipin_python']
6
7from collections import Counter
8from pyecharts import Bar,Line,Pie
  • 獲取地區分佈情況
 1import re
2def get_zone():
3 ''' 獲取地區'''
4 zone_list = []
5 real_list = []
6 for item in zhipin_java.find():
7 text = item['person_info'][3:6]
8 zone_list.append(text)
9 for i in zone_list:
10 j = re.sub(r' \d-','',i)
11 real_list.append(j)
12 while '' in real_list:
13 real_list.remove('')
14 return real_list
15zone = dict(Counter(get_zone()))
  • 整理招聘數據
1def del_key_1():
2 '''刪除招聘次數為1的崗位'''
3 li = []
4 for key in job_dict.keys():
5 if job_dict[key] == 1:
6 li.append(key)
7 for i in li:
8 del job_dict[i]
9 print(job_dict)
  • 整理薪水數據
 1def get_salary():
2 '''獲取招聘的工資'''
3 min_list = [] #起步工資
4 max_list = [] #最高工資
5 job_title = [] #崗位
6 for item in zhipin_java.find():
7 job_title.append(item['job_title'])
8 salary = item['salary']
9 min_list.append(int(salary.split('-')[0][:-1]))
10 max_list.append(int(salary.split('-')[1][:-1]))
11 return min_list,max_list,job_title


數據可視化


通過整理地區分佈數據,利用pyecharts作圖。分別以下面4個方面進行比較:地區分佈、崗位情況、公司情況和薪水對比。

1、不同區的招聘情況:


Python 起薪和均資都高於 Java?


不難看出,越靠近城市中心的地區,招聘的崗位就越多,成功應聘的機會較高;番禺和天河區相差較大,其中天河區招的Python比Java將近多了8倍;番禺區Java比Python更加熱門,受公司青睞;其他區相差不大。

2、崗位情況

Python崗位情況:

Python 起薪和均資都高於 Java?


Python崗位佔比:


Python 起薪和均資都高於 Java?


佔比前五位分別是:Python工程師、數據分析師、運維工程師、大數據開發工程師和遊戲AI算法工程師。

Java崗位情況:

Python 起薪和均資都高於 Java?

Python 起薪和均資都高於 Java?


高級工程師招聘的人數較少,大部分都是在招聘初中級工程師,難道這就是傳說中的“一個諸葛亮勝過三個臭皮匠”?

3、公司情況

Python招聘公司情況:


Python 起薪和均資都高於 Java?


Java招聘公司情況:


Python 起薪和均資都高於 Java?


4、Qian途對比

最高薪水對比:


Python 起薪和均資都高於 Java?


看來Python的地位不是吹的,最高薪水也大多數都比Java的高。Java最高薪水平平均為19.24K,最低3K,最高60K;Python最高薪水平均為21.16K,最低也是3K,最高50K,比Java稍低一點。

Python起步薪水大多數都比Java的高。Java平均起步薪水11.42K,Python平均起步薪水12.08K。

最後用兩個崗位的詞雲來看一下:


Python 起薪和均資都高於 Java?


Python 起薪和均資都高於 Java?


看了這麼多,該怎麼選,你懂了吧? 雖然有點以偏概全,但是我相信只要能夠在一個語言上做到極致,相信你的Qian途同樣會是一片光明的。另外希望秋招的同學都能夠找到一份好工作。


分享到:


相關文章: