深圳幻海软件技术有限公司 欢迎您!

Python爬虫:爬一下十月份的就业情况

2023-02-27

不知不觉,十月份已经过去了,传说中的金九银十招聘季也应该随之结束了,不知道有换工作打算的朋友有没有找到理想的下家,反正我没有。 于是乎,我再次转战Boss直聘,我就是想看看,到底什么工种比较好找工作呢。当然了,这里工作种类实在是太多了,我就挑选出Python,Java,数据分析和产品经理这

不知不觉,十月份已经过去了,传说中的金九银十招聘季也应该随之结束了,不知道有换工作打算的朋友有没有找到理想的下家,反正我没有。 


于是乎,我再次转战 Boss 直聘,我就是想看看,到底什么工种比较好找工作呢。当然了,这里工作种类实在是太多了,我就挑选出 Python,Java,数据分析和产品经理这四种岗位来做下简单的分析。


  • 获取数据

我在前面就写过一篇获取 Boss 数据的文章,可以戳这里查看(查看)。但是后面有人反映说 Cookies 过期时间太快了,我自己尝试之后也确实如此,那么这种情况下,使用 selenium 就是更好的选择了。

由于网站页面结构并没有变化,所以以前的解析网页的代码基本可以复用,只不过从 bs4 解析变为 webdriver 解析。

def get_jobs(page, city, job_type): 
 Chrome_driver = webdriver.Chrome(options=options) 
 c_code = city_code[city] 
 for i in range(1, page + 1): 
 try: 
 print("正在抓取第 %s 页数据" % i) 
 uri = '/%s/?query=%s&page=%s' % (c_code, job_type, i) 
 Chrome_driver.get(config.url + uri) 
... 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

同时这里要注意的是,Boss 网站会检测浏览器是否在受 selenium 控制,所以我们还要增加一条配置,来绕过该检测。

from selenium.webdriver import ChromeOptions 
options = ChromeOptions() 
options.add_experimental_option('excludeSwitches', ['enable-automation']) 
  • 1.
  • 2.
  • 3.

之后就可以运行程序等待完成了。

if __name__ == '__main__'
 for i in city_code.keys(): 
 get_jobs(10, i, 'python'
 get_jobs(10, i, 'java'
 get_jobs(10, i, '数据分析'
 get_jobs(10, i, '产品经理'
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

每种岗位我只爬取了前10页,毕竟我们翻看工作的时候,也不会翻看到10页以后吧!

而对于城市,我则选择了如下的城市:

city_code = { 
 'beijing''c101010100'
 'shanghai''c101020100'
 'guangzhou''c101280100'
 'shenzhen''c101280600'
 'hangzhou''c101210100'
 'xian''c101110100'
 'wuhan''c101200100'
 'chengdu''c101270100'
 'nanjing''c101190100' 

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 招聘薪资整体分析

首先我们先来看下不同城市间,同种工作的招聘薪资对比,正所谓没有对比,就没有伤害。


图中的薪资来源:选择岗位中招聘薪资区间最多的作为普遍薪资,如对于西安的 Java 岗位,10-15K 是最多的薪资区间,那么西安 Java 岗位在图中的数值即为(10+15)/2 + 32/10 = 15.7


从图中的数据可以看出,北京、上海、深圳和杭州的普遍薪资是高其他城市一等的,那么应该是第一阶梯,所谓的“北上广深”可能即将成为过去式了。

同时还能看出,虽然近些年 Python 混的风生水起,大红大紫,但是薪资相对来说却不是很高,所有的城市都没有超过30K,相比杭州的 Java,深圳的数据分析和北京的产品经理来说,Python 还是太弱势了。

而从整体来看,产品经理绝对是总体薪资水平很高的岗位,无论程序猿们服不服气,你们的战友(天敌)就是会压你一头。

下面再来看看不同城市对于不同岗位的需求程度,我这里默认需求程度高,那么普遍薪资也高。

  • 岗位城市需求

Python 需求情况


能够看出,对于 Python 来说,北京、上海和深圳可能是比较好发展的城市,而南京竟然垫底,这让我情何以堪啊。

Java 需求情况


上海和杭州是独一档的存在,拥有阿里巴巴的杭州,招聘高级 Java 可不是闹的哦。而其他城市则分布的较为平均,看来老牌语言的威力就体现在这里了,哪个公司敢说自己一点 Java 都不用呢?

数据分析岗位


对于数分岗位,深圳一马当先,我想这会不会和腾讯有着莫大的关系呢,毕竟分析好自己和别人的数据,才更好。。。

而北京也是独占第二档,看来近来大火的数据分析岗位,还是在大城市,大厂中更加有发展前途哦。

产品经理岗位


能够看出,北京应该是产品经理的天堂,这也非常符合北京这座城市的身份地位–引领中国互联网的潮流。

而深圳、上海、杭州和南京对于产品经理来说也会有不错的发展,毕竟这几座城市,是多少年轻人梦开始的地方!

  • 总体岗位分布

最后再来看看总体岗位需求分布情况


可以清晰的发现,当前的岗位需求分布还是分为三大块,北京地区,长三角地区和广州-深圳地区。

无论是当年的改革开放还是如今的互联网热潮,东南沿海地区一直都走在前列,大型企业入驻,人才涌入,大大推动了地区的发展,从而也水涨船高,无论是薪资还是需求量,都遥遥领先于其他地区。

而对于中部城市西安、武汉和成都等,不是它们不够好,而是先天的差距,需要后天更多的资源倾斜才能弥补。

  • 岗位名称

说了这么多,那么各个企业到底都在招聘什么岗位呢

Python 岗位名称


对于 Python 来说,招聘居多的是全栈工程师和开发工程师。我理解的两者的区别应该是全栈工程师需要知道的技术要更多一些,比如前端、数据库、网络等等。当然这并不代表纯的开发工程师就可以不懂这些技能,毕竟如今竞争压力这么大,不是能够承受996就能找到工作的时代了。

Java 岗位名称


Java 来说,比较多的是高级工程师和架构师,这都是比较高级的岗位了,对于 Java 这种生态如此庞大,应用如此广泛的语言来说,成为架构师之路,还是漫长且阻啊!

数据分析岗位名称


数据分析,能够看到有招聘偏于业务的“数据分析-DS快捷拼车”,也有招聘偏于技术的资深数据分析师,总之对于这个岗位,这两大方向应该是两种截然不同的晋升途径,而对于个人的要求也不尽相同。

产品经理岗位名称


对于产品经理这个岗位来说,大多都是基于业务来招聘的,比如 CRM 产品经理,社区产品经理,AI 产品经理等等。看来在社会分工越来越细致的今天,产品经理的分工率先体现了出来,那么不同领域的产品经理,会容易跳槽嘛?

好了,今天的分析就到此为止,我计划下次再来分析下不同企业的招聘情况,可以期待一下下哈!