python各种岗位薪资_python编程语言岗位薪资真不是盖的

Python 起薪和均资都高于 Java? C++表示:吃瓜看戏!

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

01、爬取

在招聘网站上直接以”本科生”和”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中,便于后面的分析处理。

02、数据清洗

在数据处理这里定义了几个方法,用来处理相应的内容。

初始变量

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

03、数据可视化

通过整理地区分布数据,利用pyecharts作图。分别以下面4个方面进行比较:地区分布、岗位情况、公司情况和薪水对比。

1、不同区的招聘情况:

不难看出,越靠近城市中心的地区,招聘的岗位就越多,成功应聘的机会较高;番禺和天河区相差较大,其中天河区招的Python比Java将近多了8倍;番禺区Java比Python更加热门,受公司青睐;其他区相差不大。

2、岗位情况

Python岗位情况:

Python岗位占比:

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

Java岗位情况:

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

3、公司情况

Python招聘公司情况:

Java招聘公司情况:

04、Qian途对比

最高薪水对比:

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

最低薪水对比:

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

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

看了这么多,该怎么选,你懂了吧? 虽然有点以偏概全,但是我相信只要能够在一个语言上做到极致,相信你的Qian途同样会是一片光明的。

免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:IT培训网)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 456. 132模式(逆序遍历+单调栈)

1. 题目 给定一个整数序列&#xff1a;a1, a2, …, an&#xff0c;一个132模式的子序列 ai, aj, ak 被定义为&#xff1a;当 i < j < k 时&#xff0c;ai < ak < aj。 设计一个算法&#xff0c;当给定有 n 个数字的序列时&#xff0c;验证这个序列中是否含有132模…

一道题目

题目如下&#xff1a;有一500米环形跑道&#xff0c;甲、乙在同一点同向同时起跑&#xff0c;已知甲的速度为60米/分钟&#xff0c;乙的速度为50米/分钟。且甲、乙跑的过程中每跑200米都要停下休息1分钟。问&#xff1a;若甲追上乙一圈需要多少时间&#xff1f;本人比较笨&…

PAT乙类1009 说反话 (20 分)

一、 题目 给定一句英语&#xff0c;要求你编写程序&#xff0c;将句中所有单词的顺序颠倒输出。输入格式&#xff1a; 测试输入包含一个测试用例&#xff0c;在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成&#xff0c;其中单词是由英文字母&#xf…

python 控件叠加_如何将图像应用于控件背景(叠加)

我想为小部件分配一个背景图像&#xff0c;比如QListWidget或QWidget。这个想法是&#xff1a;理想的情况下&#xff0c;背景图像会随着控件大小的变化而调整大小。有什么办法吗&#xff1f;在稍后编辑&#xff1a;下面是这个对话框的屏幕截图&#xff0c;其中包含Salvatore提出…

LeetCode 447. 回旋镖的数量(哈希map+组合数)

1. 题目 给定平面上 n 对不同的点&#xff0c;“回旋镖” 是由点表示的元组 (i, j, k) &#xff0c;其中 i 和 j 之间的距离和 i 和 k 之间的距离相等&#xff08;需要考虑元组的顺序&#xff09;。 找到所有回旋镖的数量。你可以假设 n 最大为 500&#xff0c;所有点的坐标在…

老赵看博客园首页

不知道从什么时候开始&#xff0c;争论一篇文章是不是应该上首页成为博客园的一种流行。无论从任何角度出发&#xff0c;一旦谈起“文章质量”必然会有朋友会牵扯到“首页”&#xff08;见《和谐社区&#xff0c;和谐技术》&#xff09;&#xff0c;然后动辄又抡起一句“你没有…

PAT乙类1010之1010 一元多项式求导

一、题目 设计函数求一元多项式的导数。&#xff08;注&#xff1a;X​n&#xff08;n为整数&#xff09;的一阶导数为nXn−1。&#xff09;输入格式: 以指数递降方式输入多项式非零项系数和指数&#xff08;绝对值均为不超过 1000 的整数&#xff09;。数字间以空格分隔。输出…

此beta版本目前不接受任何新测试员_ASO行业资讯|苹果官方App测试工具TestFlight

ASO行业资讯1数据周报12月8日起&#xff0c;用户在任何 Apple 平台下载 App 之前&#xff0c;App Store 都会先帮助其了解该 App 的隐私保护做法。在每款 App 的产品页面上&#xff0c;用户能了解到该 App 可能收集的某些数据类型&#xff0c;以及该数据是否会关联到他们或对其…

c#执行存储过程的简单实例

/*登陆验证存储过程*/if exists(select name from sysobjects where typep and namecheckUserProc)drop procedure checkUserProcgocreate procedure checkUserProc(checkResult int output,checkUser varchar(50),checkPassword varchar(100))asif exists(select * from userT…

PAT乙类之1011 A+B 和 C

一、题目 给定区间 [−2​^31, 2 ^31​​ ] 内的 3 个整数 A、B 和 C&#xff0c;请判断 AB 是否大于 C。输入格式&#xff1a; 输入第 1 行给出正整数 T (≤10)&#xff0c;是测试用例的个数。随后给出 T 组测试用例&#xff0c;每组占一行&#xff0c;顺序给出 A、B 和 C。…

LeetCode 492. 构造矩形

1. 题目 作为一位web开发者&#xff0c; 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积&#xff0c;你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求&#xff1a; 你设计的矩形页面必须等于给定的目标面积。 宽度 W 不应…

uuid生成_php如何生成 uuid(总结)

1、UUID的格式是什么&#xff1f;UUID格式为&#xff1a;xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)&#xff0c;其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字2、UUID使用实例&#xff1f;用md5函数生成密码字符串&#xff0c;然后substr函数在里面截取就好&…

PAT乙类之1012 数字分类 (20 分)

一、 题目 给定一系列正整数&#xff0c;请按要求对数字进行分类&#xff0c;并输出以下 5 个数字&#xff1a; A​1 能被 5 整除的数字中所有偶数的和&#xff1b; A​2 将被 5 除后余 1 的数字按给出顺序进行交错求和&#xff0c;即计算 n1−n2n3−n4⋯&#xff1b; A3 被 5…

C#.net同步异步SOCKET通讯和多线程总结(转)

C#.net同步异步SOCKET通讯和多线程总结 来源&#xff1a;http://www.cnblogs.com/Silverlight_Team/archive/2009/03/13/1411136.html 同步套接字通信 Socket支持下的网上点对点的通信 服务端实现监听连接&#xff0c;客户端实现发送连接请求&#xff0c;建立连接后进行发送和…

python delta_Python 函数

一、函数的基本语法及特性函数定义&#xff1a;定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来&#xff0c;要想执行这个函数&#xff0c;只需调用其函数名即可特性:减少重复代码使程序变的可扩展使程序变得易维护语法定义&#xff1a;#def 函数名(参数)&#xf…

浏览器返回错误汇总分析

错误代码&#xff1a;400 400错误是由于不正确的请求造成的&#xff0c;说明正在搜索的网页可能已经删除、更名或暂时不可用。 错误代码&#xff1a;401.1 401.1错误是由于登陆失败造成的&#xff0c;说明没有权限查看该目录或网页。 错误代码&#xff1a;401.2 401.2错误是由于…

PAT乙类1013 数素数 (20 分)

一、题目 令 P​i表示第 i 个素数。现任给两个正整数 M≤N≤10^4&#xff0c;请输出 PM到 PN的所有素数。输入格式&#xff1a; 输入在一行中给出 M 和 N&#xff0c;其间以空格分隔。输出格式&#xff1a; 输出从 P​M到 P​N的所有素数&#xff0c;每 10 个数字占 1 行&…

LeetCode 506. 相对名次(map)

1. 题目 给出 N 名运动员的成绩&#xff0c;找出他们的相对名次并授予前三名对应的奖牌。 前三名运动员将会被分别授予 “金牌”&#xff0c;“银牌” 和“ 铜牌”&#xff08;“Gold Medal”, “Silver Medal”, “Bronze Medal”&#xff09;。 (注&#xff1a;分数越高的选…

python docx包_[Python02] Python-docx包的使用,快速处理 Word 文件!

日常需要经常处理Word文档&#xff0c;发现了一个新的Python包&#xff1a;Python-docx&#xff0c;处理docx十分方便。而且这个包和pandas包结合使用&#xff0c;可以在word插入excel表格&#xff0c;节省了很多复制、粘贴、调整表格样式的时间&#xff0c;真的很方便&#xf…

c study_13

第十章:文件 文件文件的基本概念  所谓"文件"是指一组相关数据的有序集合。 这个数据集有一个名称&#xff0c;叫做文件名。 实际上在前面的各章中我们已经多次使用了文件&#xff0c;例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外…