Python 起薪和均资都高于 Java?!

2018 年 9 月 14 日 CSDN

作者 | Don Lex

责编 | 郭芮

本文爬取了某直聘网站上Python和Java的招聘信息,比较了两个方向的发展前(钱)途 ,为本科生的就业方向给一个小小的建议。


爬取


在招聘网站上直接以”本科生”和”Java”或”Python”作为筛选条件,以广州为例:

爬取招聘的大体信息,具体代码如下:

 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将近多了8倍;番禺区Java比Python更加热门,受公司青睐;其他区相差不大。

2、岗位情况

Python岗位情况:

Python岗位占比:

占比前五位分别是:Python工程师、数据分析师、运维工程师、大数据开发工程师和游戏AI算法工程师。

Java岗位情况:

高级工程师招聘的人数较少,大部分都是在招聘初中级工程师,难道这就是传说中的“一个诸葛亮胜过三个臭皮匠”?

3、公司情况

Python招聘公司情况:

Java招聘公司情况:

4、Qian途对比

最高薪水对比:

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

最低薪水对比:

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

最后用两个岗位的词云来看一下:

看了这么多,该怎么选,你懂了吧? 虽然有点以偏概全,但是我相信只要能够在一个语言上做到极致,相信你的Qian途同样会是一片光明的。另外希望秋招的同学都能够找到一份好工作。

作者:Don Lex,在校大学生,正在发育并且渴望成为一个有技术、有情怀的coder。个人公众号 Python绿洲。

声明:本文为作者投稿,版权归对方所有。


征稿啦

CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。



————— 推荐阅读 —————

登录查看更多
0

相关内容

Java 是一门编程语言,拥有跨平台、面向对象、泛型编程等特性。
Python地理数据处理,362页pdf,Geoprocessing with Python
专知会员服务
113+阅读 · 2020年5月24日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
《深度学习》圣经花书的数学推导、原理与Python代码实现
算法与数据结构Python,369页pdf
专知会员服务
161+阅读 · 2020年3月4日
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
一文看懂怎么用 Python 做数据分析
大数据技术
24+阅读 · 2019年5月5日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
Python3.8新特性概览
Python程序员
4+阅读 · 2018年12月8日
实战 | 用Python做图像处理(三)
七月在线实验室
15+阅读 · 2018年5月29日
实战 | 用Python做图像处理(二)
七月在线实验室
17+阅读 · 2018年5月25日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
python pandas 数据处理
Python技术博文
4+阅读 · 2017年8月30日
3D Deep Learning on Medical Images: A Review
Arxiv
12+阅读 · 2020年4月1日
A Survey on Deep Learning for Named Entity Recognition
Arxiv
26+阅读 · 2020年3月13日
A Comprehensive Survey on Transfer Learning
Arxiv
121+阅读 · 2019年11月7日
Arxiv
6+阅读 · 2018年1月14日
VIP会员
相关VIP内容
Python地理数据处理,362页pdf,Geoprocessing with Python
专知会员服务
113+阅读 · 2020年5月24日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
《深度学习》圣经花书的数学推导、原理与Python代码实现
算法与数据结构Python,369页pdf
专知会员服务
161+阅读 · 2020年3月4日
相关资讯
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
一文看懂怎么用 Python 做数据分析
大数据技术
24+阅读 · 2019年5月5日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
Python3.8新特性概览
Python程序员
4+阅读 · 2018年12月8日
实战 | 用Python做图像处理(三)
七月在线实验室
15+阅读 · 2018年5月29日
实战 | 用Python做图像处理(二)
七月在线实验室
17+阅读 · 2018年5月25日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
python pandas 数据处理
Python技术博文
4+阅读 · 2017年8月30日
Top
微信扫码咨询专知VIP会员