从招聘网站爬取职位信息小窥IT发展

来源:互联网 发布:中国古代数学 知乎 编辑:程序博客网 时间:2024/04/30 06:04



想知道你的工作值多少钱?如果想小范围内转行,转哪个比较好呢?

IT人恐怕逃脱不了加班这个魔咒,有的人想转行,最好是钱多事少离家近。

Snake 从拉勾网爬取职位信息,通过分析城市,职位和薪水的分布的情况,来探讨IT的发展趋势。
    虽然数据可能有些不准,“窥一斑而知全豹”。

    首先挑几个维度做样本,如下:

cities = np.array(['北京', '上海', '广州', '深圳', '杭州'])
salaries = np.array(['2k-5k', '5k-10k', '10k-15k', '15k-25k', '25k-50k'])
keywords = np.array(["测试", "Android", "IOS", "前端", "人工智能", "后端", "运维"])

翠花,上爬虫!

def get_page(url, page_num, keyword): 
headers = {
"User-Agent": "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"Accept": "application/json, text/javascript, */*; q=0.01",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.8"
}
if page_num == 1:
boo = 'true'
else:
boo = 'false'

page_data = {
'first': boo,
'pn': page_num,
'kd': keyword
}
page = requests.post(url=url, headers=headers, data=page_data)
return page.json()

def get_detail(keyword):
final_result = []

for city in cities:
total_count = []
for salary in salaries:
result = get_page(url.format(city, salary), 1, keyword)['content']['positionResult']['totalCount']
total_count.append(result)

final_result.append(total_count)
detail[keyword] = final_result

爬到的数据如下:

屏幕快照 2017-08-14 下午10.23.18.png
图形化,更直观点:

  1. 测试
    测试_detail.png

  2. Android开发
    Android_detail.png

  3. IOS开发
    IOS_detail.png

  4. 前端开发
    前端_detail.png

  5. 人工智能
    人工智能_detail.png

  6. 后端开发
    后端_detail.png

  7. 运维
    运维_detail.png

PS,原谅我还没完全解决Mac绘图中文字体问题,将就看把。

从数据可以看到,无论哪个岗位,职位最多的非帝都莫属。

杭州超过了广州。(马云功不可没)

各个职位对中级需求相对多些,帝都对15—25K的需求比较大。(帝都的房价,难道是IT人员撑起来的?我知道一个华为的,帝都好几套)

测试和运维的分布很接近。

开发的薪资和测试的薪资,距离没有那么大了。(经过这么多年的发展,开发的薪资已经很理性了。)

人工智能已经起来了,高薪机会很多。(难道是下一个风口,希望不是泡沫)

以上是个人愚见,如有不准,请找招聘网站。我顶多就放了个