如何使用爬虫分析Python岗位招聘情况

简介:

Life is short, you need Python。Python 是一门很优雅的语言,用着挺舒服的。所以就在想,现在的 Python 开发的岗位招聘,公司们需要什么样的人才?要有什么样的技能?以及对应的市场如何?

所以,我又有了一个大胆的想法。爬取了前程无忧上 Python 关键字的招聘岗位,地区锁定在中国四个一线城市,北上深广。选取 top650 条招聘岗位带 Python 关键字的招聘信息进行数据分析。

岗位分布

650 条招聘信息中,各城市岗位数量分布如下图。


上海 228 是最多的,北京 202 排在第二,两者都超过了 200,深圳和广州就和上海北京差得有点多了,分别只有 115 和 91,另外还有 14 个是异地招聘的。当然数据只是针对这前 650 条数据而言!不过总体上也差不多,后面的招聘信息都只是在岗位要求里提到 Python 而已,并没有专门招聘 Python 开发者。

职位要求

提取了所有的职位要求,进行分词统计,清理没意义的词,统一英文字符,如 Python 和 python 不区分大小。

提取前 50 个中文词汇以及出现次数,这个词频排序挺有趣的,要来好好研究一下

1、(开发,2100)(熟悉,1842)(经验,1268),这是最多的三个。熟悉其实也就是相当于有经验了。表示程度上的词也是频频出现(熟悉,1842)(良好,521)(熟练,349)(精通,331)。其实我一直不太理解精通这个词,什么程度上的熟练才能称为精通。个人感觉应该对精通这个词怀有敬畏之心。
2、(团队,424)(参与,263)(合作,219)(沟通,292)(协作,108),这个更多的是强调团队开发,参与到团队开发以及合作的重要性,毕竟现在的项目的规模基本上已经大到不是一个人就能完成的。顺便提一下 Git 出现了刚好 100 次。
3、(分析,262)(维护,253)(优化,239),这三个词应该就是对个人能力的综合描述了,具有分析问题的能力,维护和优化项目的能力,一个成熟的项目后期的维护和优化是很重要的。

看看没排进 top50 的其他词汇
1、(专业,199)(架构,173)(研发,170),这几个词看起来就厉害了,毕竟架构这个不是随便就能搞搞。
2、(爬虫,233)(抓取,140)(爬取,28)(正则表达式,31),刚需刚需!!!
3、(独立,153)(责任心,123)(强烈,69)(踏实,26)(抗压,17)(认真,26)(热爱,53)(意识,78)(逻辑,58)这应该都是所要求的品质和能力了吧。
4、(数据结构,106)(算法,198)(设计模式,33)回忆起了被《数据结构》和《算法导论》统治的恐惧吗?
5、(分布式,97)(分布式系统,29)(分布式计算,7)用心感受一下就行了。
6、(开源,112),(Github,29)这个也可以看出公司对开源的这方面的重视了,这是一种学习能力的体现,也是对程序和代码的热爱。了解这个也能大概证明自己不是一个只会闭门造车的人。

接着来看一下英文词汇,统计了 top20 的情况,看看作为一个 Python 开发者还需要什么技能,好帮助我们点亮自己的技能树。


毫无疑问,Python 遥遥领先,这是必备的。比较靠前的有 Linux, Django, Web, MySql, Redis。Web 也是 Python 很火的一个领域,相对应的 Django, Flask, Tornado 这样的 Web 框架才会得到这样的重视。Linux 这个也是刚需阿,虽然我一直在 Windows 下开发 Python,但我也挺喜欢 Linux 的,没事也折腾折腾。前端的三剑客 HTML, CSS, JavaScript 也赫然在列,说到底还是 Web 的原因。其他语言如 Java 和 C 也有所提及。数据库的也出现了三个,数据库是每个程序开发人员都应该掌握的技能,毕竟数据最优的存储方式是放在数据库里。API 这个词提醒着我们要多看文档,这个其实也就涉及到英语阅读的问题,Python 有着一个很棒的社区,很多优秀的类库,大部分的类库都有详细的文档,而大多数都是英文的。所以拥有一定的英语阅读能力是非常重要的,不要指望所有库类都能有人给自己翻译中文文档。

所有词语前 200 生成词云


一直觉得词云还是得黑色背景视觉冲击更大一点。

职位情况

然后对职位进行分析,这个问题让我头可疼可疼了呢,因为没有一个规范,导致招聘信息上的职位写的是各式各样,举个例子吧。Python 高级开发工程师和高级 Python 开发工程师是一个意思吧。Python 开发工程师,python开发工程师,PYTHON工程师这三是一个概念吧。有的甚至写着Python攻城师???以为自己萌萌哒??? 这样统计起来也比较麻烦,找不到好办法,只能先进行词频统计,然后剩下的再进行手动归类。最终被我归为 20 个类别。


在爬虫和数据分析这块还是有一定的市场的,开发工程师是总的一个范称吧,这个有特别要求高级和中级的。听说大数据现在也挺火的?

薪酬情况

下面来谈谈对应的薪酬情况,在这 650 条信息中,有 9 条是没具体提到工资的,另外还有 6 条是按天算工资的,不过这个是针对实习生的。


除去这 15 条,在剩下的 635 条里,我们来进行具体讨论。

工资的单位有 万/月,万/年,千/月 三种,而且所写明的工资是一个范围,如 1.2-1.5 万/月,10-20 万/年。这让我没办法统计,因为这不是一个数,是一个范围而且这是一个字符串。
最后,我按一个具体的比例处理所有的工资情况。[x, y] 为其范围,取 x + (y - x) * 0.4 的值。拿 1.0-1.5 万/月来说就是取其范围的差(1.5 - 1.0)= 0.5,来乘以一个比值 0.4(为什么是 0.4 呢,这个是我个人估计的,毕竟我还没参加过工作。因为刚开始工作可能就是底薪,后来才慢慢增上去的。就假设认为均值应该是这个)最后得到 1.0 + 0.2 = 1.2,1.2 就是所取的一个权重,就当是该岗位的工资。将处理完的数据存进数据库。

先来看看总体的情况


大体上呈现一个先升后降的趋势,[1.1 - 1.5] 万/月是最多的一个范围,> 2.5 万/月的也还不错,有 26 个招聘职位。

看看各个城市的具体情况。

北京


上海


深圳


广州


从整体来看北京的待遇最好,其次是上海,接下来才是深圳和广州,真的符合北上深广排名??? 
因为各个城市的总的岗位数量不同,所以不能单从哪个范围的数量大而且比较,那样没多大意义。所以应该看比例。可以明显的看到 在 2.1 - 2.5 以及 > 2.5 这两种颜色块上,北京和上面所占的比例是要高于深圳和广州的。而在 0 - 1.0 这个颜色块上,广州是最大的,几乎都接近一半了。比较这四个后,很容得出北京的结构是最合理的,底层的偏少,上层的偏多,中层占了绝大部分。广州反之。

还有一个异地招聘的


薪酬和职位对应情况

再来看看高薪酬对应的是什么职位。

总体top10:

北京top10

上海top10

深圳top10

广州top10

北京确实强,实力碾压广州,广州的 top1 在总体中排名第 24。

在各自的薪酬 top10 中,高级这个词出现频繁,资深也有几个。物以稀为贵,有技术不怕没人招。能达到这么高的工资的,基本上也都应该要有多年的开发经验了吧,不然从何而谈资深。这个是时间累积下来的的经验的资本。
书还是要多读的,掌握多一项技能就多一个优势。也不要局限于只是专业方面的书,全方位、多角度、深层次、立体化提高自己的知识水平,也能让自己腹有诗书气自华,万一找到女朋友了呢?

最后

一开始只是想简单研究一下,后来发现数据的分析比数据的爬取要难得多,不过有难度才有意思。一定要提一句,正则表达式真是瑞士军刀阿,在处理文本数据上真真是极好的!


原文发布时间为:2017-05-24

本文作者:陈键冬

本文来自云栖社区合作伙伴“Python中文社区”,了解相关信息可以关注“Python中文社区”微信公众号

相关文章
|
9天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
在现代数据分析中,高维时间序列数据的处理和预测极具挑战性。基于矩阵分解的长期事件(MFLEs)分析技术应运而生,通过降维和时间序列特性结合,有效应对大规模数据。MFLE利用矩阵分解提取潜在特征,降低计算复杂度,过滤噪声,并发现主要模式。相比传统方法如ARIMA和深度学习模型如LSTM,MFLE在多变量处理、计算效率和可解释性上更具优势。通过合理应用MFLE,可在物联网、金融等领域获得良好分析效果。
28 0
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
|
2天前
|
数据采集 数据可视化 数据挖掘
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
91 65
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
|
11天前
|
数据可视化 算法 数据挖掘
Python时间序列分析工具Aeon使用指南
**Aeon** 是一个遵循 scikit-learn API 风格的开源 Python 库,专注于时间序列处理。它提供了分类、回归、聚类、预测建模和数据预处理等功能模块,支持多种算法和自定义距离度量。Aeon 活跃开发并持续更新至2024年,与 pandas 1.4.0 版本兼容,内置可视化工具,适合数据探索和基础分析任务。尽管在高级功能和性能优化方面有提升空间,但其简洁的 API 和完整的基础功能使其成为时间序列分析的有效工具。
61 37
Python时间序列分析工具Aeon使用指南
|
1天前
|
缓存 Rust 算法
从混沌到秩序:Python的依赖管理工具分析
Python 的依赖管理工具一直没有标准化,主要原因包括历史发展的随意性、社区的分散性、多样化的使用场景、向后兼容性的挑战、缺乏统一治理以及生态系统的快速变化。依赖管理工具用于处理项目中的依赖关系,确保不同环境下的依赖项一致性,避免软件故障和兼容性问题。常用的 Python 依赖管理工具如 pip、venv、pip-tools、Pipenv、Poetry 等各有优缺点,选择时需根据项目需求权衡。新工具如 uv 和 Pixi 在性能和功能上有所改进,值得考虑。
52 35
|
7天前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
49 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
6天前
|
数据采集 缓存 API
python爬取Boss直聘,分析北京招聘市场
本文介绍了如何使用Python爬虫技术从Boss直聘平台上获取深圳地区的招聘数据,并进行数据分析,以帮助求职者更好地了解市场动态和职位需求。
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费市场分析的深度学习模型
使用Python实现智能食品消费市场分析的深度学习模型
137 36
|
1月前
|
数据可视化 算法 数据挖掘
Python量化投资实践:基于蒙特卡洛模拟的投资组合风险建模与分析
蒙特卡洛模拟是一种利用重复随机抽样解决确定性问题的计算方法,广泛应用于金融领域的不确定性建模和风险评估。本文介绍如何使用Python和EODHD API获取历史交易数据,通过模拟生成未来价格路径,分析投资风险与收益,包括VaR和CVaR计算,以辅助投资者制定合理决策。
80 15
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费趋势分析的深度学习模型
使用Python实现智能食品消费趋势分析的深度学习模型
139 18
|
2月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
151 6