女生学完Python在上海的就业薪资大概多少啊?

2020-03-23 16:59发布

6条回答
爱梦 - 拿来吧你
2楼 · 2020-08-05 09:57

每个人不一样儿吧,一般在一万左右吧,要是厉害肯定会能找到更高的

Naughty
3楼 · 2020-09-27 09:27





  1. 数据采集

  2. 事情的起源是这样的,某个风和日丽的下午…习惯性的打开知乎准备划下水,看到一个问题刚好邀请回答

于是就萌生了采集下某招聘网站Python岗位招聘的信息,看一下目前的薪水和岗位分布,说干就干。

先说下数据采集过程中遇到的问题,首先请求头是一定要伪装的,否则第一步就会给你弹出你的请求太频繁,请稍后再试,其次网站具有多重反爬策略,解决方案是每次先获取session然后更新我们的session进行抓取,最后拿到了想要的数据。

Chrome浏览器右键检查查看network,找到链接https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false


可以看到返回的数据正是页面的Python招聘详情,于是我直接打开发现直接提示{"status":false,"msg":"您操作太频繁,请稍后再访问","clientIp":"124.77.161.207","state":2402},机智的我察觉到事情并没有那么简单

真正的较量才刚刚开始,我们先来分析下请求的报文,



可以看到请求是以post的方式传递的,同时传递了参数

在学习过程中有什么不懂得可以加我的

python学习交流扣扣qun,784758214

群里有不错的学习视频教程、开发工具与电子书籍。

与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

datas={

'first':'false',

'pn':x,

'kd':'python',

}



同时不难发现每次点击下一页都会同时发送一条get请求



经过探索,发现这个get请求和我们post请求是一致的,那么问题就简单许多,整理一下思路

关键词:python**搜索范围:**全国**数据时效:**2019.05.05

#!/usr/bin/envpython3.4

#encoding:utf-8

"""

Createdon19-5-05

@title:''

@author:Xusl

"""

importjson

importrequests

importxlwt

importtime


#获取存储职位信息的json对象,遍历获得公司名、福利待遇、工作地点、学历要求、工作类型、发布时间、职位名称、薪资、工作年限

defget_json(url,datas):

my_headers={

"User-Agent":"Mozilla/5.0(Macintosh;IntelMacOSX10_13_6)AppleWebKit/537.36(KHTML,likeGecko)Chrome/72.0.3626.119Safari/537.36",

"Referer":"https://www.lagou.com/jobs/list_Python?city=全国&cl=false&fromSearch=true&labelWords=&suginput=",

"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"

}

time.sleep(5)

ses=requests.session()#获取session

ses.headers.update(my_headers)#更新

ses.get("https://www.lagou.com/jobs/list_python?city=全国&cl=false&fromSearch=true&labelWords=&suginput=")

content=ses.post(url=url,data=datas)

result=content.json()

info=result['content']['positionResult']['result']

info_list=[]

forjobininfo:

information=[]

information.append(job['positionId'])#岗位对应ID

information.append(job['city'])#岗位对应城市

information.append(job['companyFullName'])#公司全名

information.append(job['companyLabelList'])#福利待遇

information.append(job['district'])#工作地点

information.append(job['education'])#学历要求

information.append(job['firstType'])#工作类型

information.append(job['formatCreateTime'])#发布时间

information.append(job['positionName'])#职位名称

information.append(job['salary'])#薪资

information.append(job['workYear'])#工作年限

info_list.append(information)

#将列表对象进行json格式的编码转换,其中indent参数设置缩进值为2

#print(json.dumps(info_list,ensure_ascii=False,indent=2))

#print(info_list)

returninfo_list


defmain():

page=int(input('请输入你要抓取的页码总数:'))

#kd=input('请输入你要抓取的职位关键字:')

#city=input('请输入你要抓取的城市:')


info_result=[]

title=['岗位id','城市','公司全名','福利待遇','工作地点','学历要求','工作类型','发布时间','职位名称','薪资','工作年限']

info_result.append(title)

forxinrange(1,page+1):

url='https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'

datas={

'first':'false',

'pn':x,

'kd':'python',

}

try:

info=get_json(url,datas)

info_result=info_result+info

print("第%s页正常采集"%x)

exceptExceptionasmsg:

print("第%s页出现问题"%x)


#创建workbook,即excel

workbook=xlwt.Workbook(encoding='utf-8')

#创建表,第二参数用于确认同一个cell单元是否可以重设值

worksheet=workbook.add_sheet('lagouzp',cell_overwrite_ok=True)

fori,rowinenumerate(info_result):

#print(row)

forj,colinenumerate(row):

#print(col)

worksheet.write(i,j,col)

workbook.save('lagouzp.xls')


if__name__=='__main__':

main()





当然存储于excel当然是不够的,之前一直用matplotlib做数据可视化,这次换个新东西pyecharts。

2.了解pyecharts

pyecharts是一款将python与echarts结合的强大的数据可视化工具,包含多种图表

Bar(柱状图/条形图)Bar3D(3D柱状图)Boxplot(箱形图)EffectScatter(带有涟漪特效动画的散点图)Funnel(漏斗图)Gauge(仪表盘)Geo(地理坐标系)Graph(关系图)HeatMap(热力图)Kline(K线图)Line(折线/面积图)Line3D(3D折线图)Liquid(水球图)Map(地图)Parallel(平行坐标系)Pie(饼图)Polar(极坐标系)Radar(雷达图)Sankey(桑基图)Scatter(散点图)Scatter3D(3D散点图)ThemeRiver(主题河流图)WordCloud(词云图)

用户自定义

Grid类:并行显示多张图Overlap类:结合不同类型图表叠加画在同张图上Page类:同一网页按顺序展示多图Timeline类:提供时间线轮播多张图

另外需要注意的是从版本0.3.2开始,为了缩减项目本身的体积以及维持pyecharts项目的轻量化运行,pyecharts将不再自带地图js文件。如用户需要用到地图图表(Geo、Map),可自行安装对应的地图文件包。


全球国家地图:echarts-countries-pypkg(1.9MB):世界地图和213个国家,包括中国地图中国省级地图:echarts-china-provinces-pypkg(730KB):23个省,5个自治区中国市级地图:echarts-china-cities-pypkg(3.8MB):370个中国城市


也可以使用命令进行安装

pipinstallecharts-countries-pypkg

pipinstallecharts-china-provinces-pypkg

pipinstallecharts-china-cities-pypkg



3.数据可视化(代码+展示)

各城市招聘数量

frompyechartsimportBar


city_nms_top10=['北京','上海','深圳','成都','杭州','广州','武汉','南京','苏州','郑州','天津','西安','东莞','珠海','合肥','厦门','宁波',

'南宁','重庆','佛山','大连','哈尔滨','长沙','福州','中山']

city_nums_top10=[149,95,77,22,17,17,16,13,7,5,4,4,3,2,2,2,1,1,1,1,1,1,1,1,1]


bar=Bar("Python岗位","各城市数量")

bar.add("数量",city_nms,city_nums,is_more_utils=True)

#bar.print_echarts_options()#该行只为了打印配置项,方便调试时使用

bar.render('Python岗位各城市数量.html')#生成本地HTML文件




地图分布展示(这个场景意义不大,不过多分析)

frompyechartsimportGeo


city_datas=[('北京',149),('上海',95),('深圳',77),('成都',22),('杭州',17),('广州',17),('武汉',16),('南京',13),('苏州',7),

('郑州',5),('天津',4),('西安',4),('东莞',3),('珠海',2),('合肥',2),('厦门',2),('宁波',1),('南宁',1),('重庆',1),

('佛山',1),('大连',1),('哈尔滨',1),('长沙',1),('福州',1),('中山',1)]

geo=Geo("Python岗位城市分布地图","数据来源拉勾",title_color="#fff",

title_pos="center",width=1200,

height=600,background_color='#404a59')

attr,value=geo.cast(city_datas)

geo.add("",attr,value,visual_range=[0,200],visual_text_color="#fff",

symbol_size=15,is_visualmap=True)

geo.render("Python岗位城市分布地图_scatter.html")


geo=Geo("Python岗位城市分布地图","数据来源拉勾",title_color="#fff",

title_pos="center",width=1200,

height=600,background_color='#404a59')

attr,value=geo.cast(city_datas)

geo.add("",attr,value,type="heatmap",visual_range=[0,10],visual_text_color="#fff",

symbol_size=15,is_visualmap=True)

geo.render("Python岗位城市分布地图_heatmap.html")





各个城市招聘情况


在学习过程中有什么不懂得可以加我的

python学习交流扣扣qun,784758214

群里有不错的学习视频教程、开发工具与电子书籍。

与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

frompyechartsimportPie


city_nms_top10=['北京','上海','深圳','成都','广州','杭州','武汉','南京','苏州','郑州']

city_nums_top10=[149,95,77,22,17,17,16,13,7,5]

pie=Pie()

pie.add("",city_nms_top10,city_nums_top10,is_label_show=True)

#pie.show_config()

pie.render('Python岗位各城市分布饼图.html')




北上深的岗位明显碾压其它城市,这也反映出为什么越来越多的it从业人员毕业以后相继奔赴一线城市,除了一线城市的薪资高于二三线这个因素外,还有一个最重要的原因供需关系,因为一线岗位多,可选择性也就比较高,反观二三线的局面,很有可能你跳个几次槽,发现同行业能呆的公司都待过了…

薪资范围

由此可见,python的岗位薪资多数在10k~20k,想从事Python行业的可以把工作年限和薪资结合起来参考一下。

学历要求+工作年限

从工作年限来看,1-3年或者3-5年工作经验的招聘比较多,而应届生和一年以下的寥寥无几,对实习生实在不太友好,学历也普遍要求本科,多数公司都很重视入职人员学历这点毋容置疑,虽然学历不代表一切,但是对于一个企业来说,想要短时间内判断一个人的能力,最快速有效的方法无疑是从学历入手。学历第一关,面试第二关。

但是,这不代表学历不高的人就没有好的出路,现在的大学生越来越多,找工作也越来越难,竞争越来越激烈,即使具备高学历,也不能保证你一定可以找到满意的工作,天道酬勤,特别是it这个行业,知识的迭代,比其他行业来的更频密。不断学习,拓展自己学习的广度和深度,才是最正确的决定。

就业寒冬来临,我们需要的是理性客观的看待,而不是盲目地悲观或乐观。从以上数据分析,如果爱好Python,仍旧可以入坑,不过要注意一个标签有工作经验,就算没有工作经验,自己在学习Python的过程中一定要尝试独立去做一个完整的项目,爬虫也好,数据分析也好,亦或者是开发,都要尝试独立去做一套系统,在这个过程中培养自己思考和解决问题的能力。持续不断的学习,才是对自己未来最好的投资,也是度过寒冬最正确的姿势。


彭彭彭
4楼 · 2021-01-25 14:23

从工作年限来看,1-3年或者3-5年工作经验的招聘比较多,而应届生和一年以下的寥寥无几,对实习生实在不太友好,学历也普遍要求本科,多数公司都很重视入职人员学历这点毋容置疑,虽然学历不代表一切,但是对于一个企业来说,想要短时间内判断一个人的能力,最快速有效的方法无疑是从学历入手。学历第一关,面试第二关。

猫的想法不敢猜
5楼 · 2021-09-17 10:58

上海薪资挺高的,之前有个姐姐在那边做人工智能的开发就是Python这一块的一个月3万多,羡慕的不要不要的。

不吃鱼的猫
6楼 · 2022-04-25 11:08

技术学到位的话,上海基本在10k

腾腾家的宝贝
7楼 · 2022-04-28 09:18

主要看你的技术和你自身的一些情况 一般都是一万上下 甚至更高

相关问题推荐

  • 回答 3

    换行。比如,print hello\nworld效果就是helloworld\n就是一个换行符。\是转义的意思,'\n'是换行,'\t'是tab,'\\'是,\ 是在编写程序中句子太长百,人为换行后加上\但print出来是一整行。...

  • 回答 42

    十种常见排序算法一般分为以下几种:(1)非线性时间比较类排序:a. 交换类排序(快速排序、冒泡排序)b. 插入类排序(简单插入排序、希尔排序)c. 选择类排序(简单选择排序、堆排序)d. 归并排序(二路归并排序、多路归并排序)(2)线性时间非比较类排序:...

  • 回答 70
    已采纳

    前景很好,中国正在产业升级,工业机器人和人工智能方面都会是强烈的热点,而且正好是在3~5年以后的时间。难度,肯定高,要求你有创新的思维能力,高数中的微积分、数列等等必须得非常好,软件编程(基础的应用最广泛的语言:C/C++)必须得很好,微电子(数字电...

  • 回答 28

    迭代器与生成器的区别:(1)生成器:生成器本质上就是一个函数,它记住了上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用,跳转到函数上一次挂起的位置。而且记录了程序执行的上下文。生成器不仅记住了它的数据状态,生成器还记住了程序...

  • 回答 9

    python中title( )属于python中字符串函数,返回’标题化‘的字符串,就是单词的开头为大写,其余为小写

  • 回答 6

    第一种解释:代码中的cnt是count的简称,一种电脑计算机内部的数学函数的名字,在Excel办公软件中计算参数列表中的数字项的个数;在数据库( sq| server或者access )中可以用来统计符合条件的数据条数。函数COUNT在计数时,将把数值型的数字计算进去;但是...

  • 回答 1

    head是方法,所以需要取小括号,即dataset.head()显示的则是前5行。data[:, :-1]和data[:, -1]。另外,如果想通过位置取数据,请使用iloc,即dataset.iloc[:, :-1]和dataset.iloc[:, -1],前者表示的是取所有行,但不包括最后一列的数据,结果是个DataFrame。...

  • Python入门简单吗2021-09-23 13:21
    回答 45

    挺简单的,其实课程内容没有我们想象的那么难、像我之前同学,完全零基础,培训了半年,直接出来就工作了,人家还在北京大公司上班,一个月15k,实力老厉害了

  • 回答 4

    Python针对众多的类型,提供了众多的内建函数来处理(内建是相对于导入import来说的,后面学习到包package时,将会介绍),这些内建函数功用在于其往往可对多种类型对象进行类似的操作,即多种类型对象的共有的操作;如果某种操作只对特殊的某一类对象可行,Pyt...

  • 回答 8

     相当于 ... 这里不是注释

  • 回答 4

    还有FIXME

  • 回答 3

    python的两个库:xlrd和xlutils。 xlrd打开excel,但是打开的excel并不能直接写入数据,需要用xlutils主要是复制一份出来,实现后续的写入功能。

  • 回答 8

    单行注释:Python中的单行注释一般是以#开头的,#右边的文字都会被当做解释说明的内容,不会被当做执行的程序。为了保证代码的可读性,一般会在#后面加一两个空格然后在编写解释内容。示例:#  单行注释print(hello world)注释可以放在代码上面也可以放在代...

  • 回答 2

    主要是按行读取,然后就是写出判断逻辑来勘测行是否为注视行,空行,编码行其他的:import linecachefile=open('3_2.txt','r')linecount=len(file.readlines())linecache.getline('3_2.txt',linecount)这样做的过程中发现一个问题,...

  • 回答 4

    或许是里面有没被注释的代码

  • 回答 26

    自学的话要看个人情况,可以先在B站找一下视频看一下

没有解决我的问题,去提问