Python爬取分析拉勾网职位数据

数据中蕴藏着大量的价值等待挖掘,这是当前大家都承认的事实。

然而对于我们个人,怎样利用这一点给自己创造价值呢?

挡在这面前的第一点,就是得有数据。

对个人来说,爬虫是获取数据的非常遍历的方式,得到数据之后,我们可以进行一些数据分析、统计,然后用于指导我们的学习、工作、副业的方向。

比如如果你想找一份Python相关的工作,那么可以爬取Python职位列表,然后进行统计分析,比如可以得到如下信息:

  1. 招聘Python职位的这些公司,所处的行业领域、公司规模、融资阶段、学历要求、工作经验都有哪些?
  2. 招聘Python职位的薪资分布是怎么样的?和其他职位的薪资分布有哪些区别?
  3. Python职位本身的职位要求,关注哪些关键字,或者说哪些技能要求?

当然职位关键字不只是Python,可以是Java、大数据、推荐算法等等,都可以进行数据挖掘,用于指导自己对职位的宏观把控、学习和努力的方向。

本文介绍怎么爬取北京Python职位的概要信息和简单的数据分析。

确认待爬取的目标

本次待爬取的目标为拉勾网>北京站>Python职位:

首先进入拉勾首页,切换到北京站,输入python搜索:

本次的目标就是爬取职位列表的概要信息:

分析爬取方法

点击页面下方的分页按钮,发现URL并没有变化,一直是https://www.lagou.com/jobs/list_python/p-city_2?&cl=false&fromSearch=true&labelWords=&suginput=

打开查看元素,发现页面的数据来自一个ajax请求,返回的是json

而这个请求,是一个POST请求:

经过尝试,直接请求该json的Url是可以取到数据的,然而拉勾做了很强的反爬措施,需要有几点注意:

  1. 要请求这个json,需要附带cookie,这个cookie可以通过先请求一下列表页得到;
  2. 每次请求后,可以sleep几秒钟,防止被禁IP

代码实现

  1. 设置用于获取cookie的url和提交post的Url,以及从浏览器复制headers
  1. 进行列表页的爬取
  1. 提取职位信息
    这是一个JSON,提取方式类似访问Python的字典
  1. 查看结果数据

数据分析

使用pandas加载数据

融资阶段分布

需要Python职位多的公司:不需要融资、上市公司、A轮
需要Python职位少的公司:天使轮、C轮、D轮以上

公司规模的分布

50~150人的公司,需要Python职位的最多~其次是2000人以上的大公司

薪资的分布

因为薪资是个区间,处理成只查看区间低薪作为参考值:

最多分布在15K、20K的职位;

融资阶段与薪资的关系

使用seaborn更方便

最穷的是天使轮、C轮的公司,不服来辩。

结语

以上就是我对拉勾网Python职位的爬取和简单分析,虽然数据不多,但是可以探索的点其实还有很多,欢迎大家参与讨论。

而整体上,先爬取数据、然后分析、然后指导实践的思路很清晰。

如果本文对你有帮助,帮忙点赞和在看,后续我会分享更多爬取+分析系列的文章。

相关推荐

Leave a Comment