成都网站建设设计

将想法与焦点和您一起共享

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

这篇文章主要讲解了“怎么用Python爬取分析拉勾网职位数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python爬取分析拉勾网职位数据”吧!

专注于为中小企业提供做网站、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业莲池免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

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

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

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

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

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

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

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

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

 

确认待爬取的目标

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

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

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

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

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

分析爬取方法

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

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

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

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

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

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

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

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

代码实现

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

数据分析

 

使用pandas加载数据

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

融资阶段分布

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

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

 

公司规模的分布

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

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

 

薪资的分布

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

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

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

 

融资阶段与薪资的关系

使用seaborn更方便

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

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


感谢各位的阅读,以上就是“怎么用Python爬取分析拉勾网职位数据”的内容了,经过本文的学习后,相信大家对怎么用Python爬取分析拉勾网职位数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前标题:怎么用Python爬取分析拉勾网职位数据
URL地址:http://chengdu.cdxwcx.cn/article/iiscsj.html