爬取拉勾网北京产品经理数据分析的结果,招聘

来源:http://www.roro2.com 作者:betway互联网 人气:160 发布时间:2019-11-05
摘要:② AI产品产品经理工资情况: 实习僧网站招聘信息爬取以及可视化操作,招聘信息 目标:用Python抓取实习僧网站上数据分析相关岗位信息,并用Python做可视化分析 软件:Python 3.0 版本

② AI产品产品经理工资情况:

实习僧网站招聘信息爬取以及可视化操作,招聘信息

目标:用Python抓取实习僧网站上数据分析相关岗位信息,并用Python做可视化分析

软件:Python 3.0 版本

     通过图7 工资分配表可知,北京地区产品经理主要集中在10K-20K之间(此次没有对各个区间合并),工作经验主要要求在1-3年及3-5年两个区间,学历以最低本科学历为主,公司方面,以不需要融资、A轮及上市公司为主,通过岗位要求关键词提炼,工具技能(axure、visio等)为基本要求,除了基本的需求分析、产品流程外,数据分析技术能力、市场能力也是一些比较看重的。(注:时间较仓促,分析的维度及采集数据较少)

系统学习了解Python爬虫有20天时间了,做了一些爬虫小实验,如:

通过Pandas导入CSV文件,CSV 文件是用逗号(,)分隔的文本文件。

二、PTYHON数据分析

 

首先导入需要用到的包,然后读取Excel文件

 

得到:

 

网址数据暂时用不上 因此就删除这两列

 

 

 

主要从薪酬,工作天数,工作地点和时间要求四个方面分析。

 

 

先看一个简单的:

1 工作天数的要求和分布

 

2 实习时间的要求

 

 

 

3 实习地点的分布

 

 

What the hell?

 

过滤掉频数小于5的

 

 

4 实习薪酬的水平

 

 

额 同样的问题,,,

 

 

168个类别,所以挤成那个样子了。。。过滤掉频数小于10的。

 

 

总结一下:

实习地点:数据分析岗位实习北京和上海集中较多,然后是广州和深圳。其次是二线城市,成都,南京,杭州等。

工作天数:要求5天/周的实习最多,占比达到44.61%,其次是4/周和3/周。

实习时间:要求至少3个月的实习最多,其次是6个月,4个月。

实习薪酬:集中在100-120元区间上的最多。超过一半的实习工资超过了100。


第一次写,欢迎指正。

目标:用Python抓取实习僧网站上数据分析相关岗位信息,并用Python做可视化分析 软件...

     获取数据后,将数据存储在EXcel中,此时数据较乱,会出现空值等情况,针对此情况,需要进行数据清洗的过程。

  • 爬取51JOB岗位要求及信息 《当我们学Python时,我们学什么》;
  • Python模拟登录爬取QQ群论坛数据,《用Python玩转QQ群论坛》,《成长会不完全大数据-Python爬虫案例》;
  • 用Scrapy爬取找到简书签约作者,《Python爬虫学习:简书签约作者知多少?》;
  • 工作中爬取优酷视频,爬取筛选赶集、58简历库。

数据类型:

 一、 实习僧网站爬虫介绍 

实习僧网址:

 

在搜索框输入 数据 然后跳转到一下页面,Fn + f12 就能看到网页调试工具。

刷新页面,然后点进第一个链接

url 就是我们爬虫要用到的url, 其中k和p的含义已经解释了。点击尾页,可以知道共109页数据。

 betway 1

 

然后利用request Headers信息用来模拟浏览器登录。

网页上右键后查看源代码。我们要爬取职位名称,职位详情网址,月薪,工作地点等信息。写得正则表达为:

 

好了。基本工作完成,这就需要进一步构建代码了。

 

如何翻页,爬取下一页呢,就是利用循环对参数P的调整,实现整个页面的抓取。

 

然后就是对爬取字段的组合,并且写入excel文件。

需要用到: import xlwt #读写Excel 文件

 

最终运行代码,得到结果,共1085条记录,用时30秒多。

 

 

betway 2

二、如何使用Scrapy循环爬取数据

在上一篇文章爬虫框架Scrapy快速入门中数据提交,获取新的url,url规则没有变,抓取的页面结构没有变,所以都是在parse()中实现。这次不一样。

1、列出start_urls, parse()方法会自动从这个待爬取的url列表依次执行。
2、每一个用户的粉丝是分页加载的。所以需要一个方法获取粉丝分页url,分页页面每一行数据显示了一个用户文章数、字数、喜欢数、粉丝数,不需要进入到用户首页。

要获得用户注册时间,第一篇文章发表时间,发表过多少评论,是需要进到用户首页的,这也是下一步抓取要解决的。

用户信息

在parse()方法中,我的目标就是拿到所有分页url,parse_item()中解析出用户信息并提交。在parse()方法中循环调用parse_item()。把所有特征用户的粉丝数据都抓取出来。

注意:
1)在构造分页url时,查看到一个参数“_=”后面是一串数字,在浏览器中验证去掉又不行,猜测是时间戳。就用time构造出一个,测试正确。

分页url

2)在scrapy中方法调用,采用回调的方式。

       for i in range(1, pages + 1):
            nurl = response.url + '?_' + str(t) + '&page=' + str(i)  #构造出分页的url
            yield Request(nurl, callback=self.parse_item) 

看一下爬取到的数据:

到了65535行!

把数据导入数说立方,去重后的条数为64714条,重复率为1.2%,可见用户在粉以上几个签约作者时重合度并不高。

数据统计

90.8%用户写了7篇文章,68.9%用户没有发表过文章

你坚持写7篇就超过90%的用户。更多数据分析,另外写一篇来解读。下一步的学习放在mongodb,redis上,练习10W+级别的数据爬取,以及Scrapy处理复杂的流程和性能优化。

betway 3

(1)确定目标

但是以上爬取的数据量都不大,最多的有一千多数条数据。于是想做一次大数据量的爬取。选择的数据源是简书用户,使用的是Scrapy框架。同时也想对简书的用户做一个数据分析。

2.3 数据清洗

    做完以上工作后,下一步对数据分析并制作数据报表。主要涉及到工资分配表,图7 工资分配表、图8工作经验表、图9公司简介表、图10岗位要求表

一、考虑爬虫从哪里入口?

简书的用户id不是一个自增的序列数,无法使用一个循环就可以跑下所有用户。一开始我是想从一篇热门文章的阅读数或者喜欢数开始抓取用户,热门文章的阅读数能达到6W+,喜欢数在6~7K。但下一步数据再怎么爬,没有想好,阅读和喜欢的用户都是最普通用户,他们的关注和粉丝很少,而且阅读用户是Ajax数据。还有一个问题,数据如何去重。

后来,我再看上次爬取的简书签约作者时,发现有8个签约作者粉丝都超过1W,彭小六粉丝近3W。于是就觉得从这里作为入口,会是一个比较好的方案,简单易行,使用几个不多的url作为待爬取的入口,便可以抓取到大量的数据。最后我选择几个入口用户是,简书、彭小六、剽悍一只猫、入江之鲸、陶瓷兔子5个用户url,爬取他们的粉丝用户信息。

没有把所有签约作者url一起列为入口,是因为我现在数据存为csv格式,考虑可能超过65535行。后来我看了一下,特征用户还可以包括简叔,简书首席拒稿官。

要爬取的用户信息:

class JsuserItem(Item):

    nickname = Field()  #用户昵称
    subscriptions = Field() # 用户关注数
    fans = Field() #粉丝数
    url = Field()  #用户首页url
    articles = Field()  #写的文章数
    words = Field() #写作的字数
    likes = Field()   #收到的喜欢数
    comments = Field()  # 发表的评论数,这个数据跳到另外url,还要做分页处理,这次没有做。
    regtime = Field()  # 与评论数一样,下次再爬取
    collected = Field()  #文集数量

作者:John_Ren,微信公众号:产品经理与增长黑客,id: pmgrowth

betway 4

要爬取大量数据,使用Scrapy要考虑的是新的url在哪里产生,解析的方法如何循环调用,也就是爬取的深度和广度。在Scrapy官方文档上的案例过于简单,实现的过程遇到不少问题,如scrapy中的方法如何调度,如何返回,循环中如何去抓取需要的另一个字段,再如何返回等等, 有些可能是我思维的局限,问题先记下,一步步解决。

我们已经完成了我们的第一个小程序。大家可以把链接换成其他的链接,尝试一下爬取我们感兴趣的内容。

4.数据库数据

  1. 分布直方图
  2. 箱线图
  3. 线性图
  4. 饼图
  5. 词云

      当然,直接通过搜索引擎获取结果是一件比较幸运的事,不过,在获取数据时,一般不会直接获取到想要的数据。除了互联网公开数据外,本地数据也是一个重要数据来源渠道。

  1. # a) 描述性统计
  2. # b) 数据可视化

    作者简介:励秣,某公司产品经理,目前正在寻找后台或数据产品,希望有坑者“收留”,微信:15005417866。13年,985本科毕业,毕业前有近两年开发实践工作,擅长java、python,毕业后,在某知名在线租房公司一年产品运营工作,转产品近3年,且以后台为主,涉及到一些数据相关设计,希望大家帮忙推荐。

让我们看下requests.get()方法,它用于向服务器发起GET请求,不了解GET请求没有关系。我们可以这样理解:get的中文意思是得到、抓住,那这个requests.get()方法就是从服务器得到、抓住数据,也就是获取数据。我们就以百度为例:

betway 5

OK我们导入requests库,requests库的开发者为我们提供了详细的中文教程,查询起来很方便,万事请问度娘。如果我们需要使用Python进行网络请求,requests将是我们十分常用的库。

betway 6

我们此次用到的首先是饼图,查看全国主要城市,对于AI产品经理的招聘情况:

     本文以拉勾网作为抓取对象,主要在于拉勾网是互联网求职者的一个重要渠道,分析拉勾网具有一定参考意义。

req = requests.get(url=target)

(2)获取数据

我们开始对获取到的数据进行分析和理解:

    数据库是存储数据的重要载体,目前,常用的数据库有mysql、sqlserver及oracle等,读取数据库数据需要sql语句。

本文由 @John_Ren 原创发布于人人都是产品经理。未经许可,禁止转载

(3)清洗数据

具体的实现过程,可以从百度网盘中下载源码。

2.本地数据

③ 职位福利:

图7 工资分配表

从数据来看,R-squared的值为0.185,说明工作经验和学历仅仅解释了工资变异性的18.5%。

    前段时间学习完了python,再加上最近需要找工作,决定爬取招聘网站(本文以拉勾网为抓取对象),通过建立相关数据模型,分析产品经理相关要求和职责,指导简历制作及今后产品努力的方向。

betway 7

    数据爬取,简单的说,就是利用python写一个定向爬虫脚本,抓取北京产品经理在工作年限、学历要求及行业领域等方面的数据,通过数据数据挖掘模型,分析各个维度下产品经理相关要求。如图4产品经理抓取界面

我们将职位福利这一列的数据汇总,按照词频生成词云。可见五险一金在职位福利里出现的频率最高,其次是平台,工作氛围、年终奖、期权等。

betway 8

betway 9

betway 10

  1. 找到我们目标数据的API;
  2. Python模拟GET请求获取数据;
  3. 保存数据,等待我们去揭开他的神秘面纱。

     本地数据主要指存储在本地电脑、网盘等载体内的数据,以PDF、Word、Excel及CSV为主。例如,图2 快消品行业分析报告,收集了快消品在营销、趋势等方面的数据。

这一点其实比较好理解,因为我们抓取的数据中,title其实主要仍然是普通产品经理的岗位工作,普通产品经理的岗位工作、数据产品经理,AI产品经理的实际工作内容差异还是比较大的。

     清洗过后,需要进行数据整理,即将数据整理为能够进行下一步分析的格式,由于数据量较少,并没有采用Spss,而是Excel。整理完相关数据后,确定分析的维度及指标,一般计算一些二级指标就可以,例如,通过计算手机销售量同比、环比等增长率。如果你收集的是一些非数字的数据,比如对商家的点评,那么你进行下一步统计之前,需要通过“关键词-标签”方式,将句子转化为标签,再对标签进行统计。当然,非数字的数据,还通常用分词统计,例如,岗位要求可以采用sae分词统计及关键词抽离等方式,抽离出关键标签及统计。

print(req.text)

图10岗位要求表

我们导入数据后,可以通过head方法查看一下我们的数据是否正常导入。

图 8-1工作经验表

betway 11

(4)整理数据及分析

普通产品经理主要仍然是进行产品原型设计和完成三大文档的工作;数据行产品经理可能会经常使用Python、R等工具进行工作;AI产品经理将设计NLP、MPL等方面的工作。另外,各个公司的规模和它愿意开出的工资也不尽相同。

betway 12

Kevin:

1.互联网公开数据

由于我们此次抓取的数据都是对象,所以呈现了上述的情况,不过我们依然可以看到数据共有450条,招聘的公司总数有308条,开出的工资条件总共有71种薪水范围。

      爬虫获得的数据,90%以上的情况,你拿到的数据都需要先做清洗工作,排除异常值、空白值、无效值、重复值等等。这项工作经常会占到整个数据分析过程将近一半的时间。如果在上一步中,你的数据是通过手工复制/下载获取的,那么通常会比较干净,不需要做太多清洗工作。但如果数据是通过爬虫等方式得来,那么你需要进行清洗,提取核心内容,去掉网页代码、标点符号等无用内容。无论你采用哪一种方式获取数据,请记住,数据清洗永远是你必须要做的一项工作。通过对数据清洗后,下图6 数据清洗后的数据

① 全国主要城市AI产品经理的招聘情况:

图8-3工作经验表(学历)

betway 13

图 6 清洗后数据

if __name__ == ‘__main__’:

爬取拉勾网:

  1. # a) 导入类库
  2. # b) 导入数据集
  3. # c) 初步描述性统计

图9公司简介表

程序运行完之后,数据如下图所示:

5.爬虫数据

betway 14

 图2  快消品行业分析报告

John:

好久不见,我是Kevin。近期也想从产品经理转行成为一名AI产品经理,我需要做什么样的准备呢?

Kevin

2018年9月8日

(5)结      论

  1. # a) 数据清洗
  2. # b) 特征选择
  3. # c) 数据转换

图1 2016年收集销量排行榜

Kevin,我们今天看了AI产品经理的岗位需求和企业招聘情况,我们下次聊聊关于AI产品经理在思维上和普通产品经理岗位有着怎样的不同。请关注《产品经理AI指北(二):AI产品经理思维6顶思考帽》

betway 15

# 3. 概述数据

     通过分析检查元素-network-doc-分析http请求方式(getpost)-分析网页div、css选择类之后,选择requests、BeautifulSoup、正在表达式等工具后,开始爬虫(此处省去爬虫具体分析及爬虫过程),爬虫结束后,将爬虫结果存入本地Excel(由于数据量较少,没有使用mysql)。如图 5  部分代码界面

我们进行数据清洗,通常采用的方式:

     确定好目标好,下一步就到了获取数据源步骤。获取数据源是数据分析的前提和基础。获取数据源主要有五种常见的方式:

betway 16

betway 17

betway 18

图 3 全国天气数据接口

betway 19

     互联网公开数据主要通过搜索获取,例如,想要获取2016收集销量排行数据,可通过输入相关关键词获取相应结果,图1 2016年收集销量排行榜,输入“手机销量排行榜2016”,得出有关销售量结果。

2.1 导入数据

           图4 产品经理抓取界面

betway 20

图 8-2工作经验表(年限)

2.2 初步描述性统计数据

    数据爬取是当前获取数据的一种重要方式,通过比如用爬虫工具爬取点评网站的商家评分、评价内容等,或是直接自己人肉收集(手工复制下来),亦或是找一个免费问卷网站做一份问卷然后散发给你身边的人,都是可以的。这种方式受限制较少,但工作量/实现难度相对较大。不过,爬虫数据需要具有一定的编程基础,当前在爬取数据方面常用的是python。本文爬取拉勾网也是采取python作为爬虫语言,下面,本文在获取数据时,采取数据抓取的方式,着重阐述如何爬取拉勾网相关数据的。

目的:第一个爬虫程序

betway 21

运行程序,我们看到以下结果:

betway 22

betway 23

                                图5 爬虫结果界面

target = ‘

     API数据是一个重要的数据渠道,尤其随着互联网数据存储量越来越大以及众多网站开放了API接口,使得API接口数据成为重要形式。目前,有很多API数据应用市场,例如,百度API store ,聚合数据等,整合各种类型API,用户可通过申请apikey,获取相关数据。例如,想要获取全国天气实时数据,可通过调用天气API,获取实时数据。图 3 全国天气数据接口,申请APIkey,导入相应库,获取数据。

betway 24

3.API数据

Data.head()

betway 25

我个人其实很欣赏这个理论,如果能够通过数据的统计分析能够发现需求的话,那么产品经理的价值和意义怎么去体现,产品经理真正的价值应该是体现在:用数据和统计分析方法无法直观体现和挖掘需求的数据上。

原标题:产品经理AI指北(一):企业AI产品经理采购指南

第一行代码是:

# 1. 准备

betway 26

二、数据分析及理解

完整的代码下载地址:

已经收到你的来信,的确好久不见!既然你想成为一名AI产品经理,那我今天先给你说一下企业对于AI产品经理有怎样的要求吧?

④ 学历要求:

给大家分享一个模板,我们基础的数据分析和理解工作,也可以参考该模板:

从工资的分布直方图来看,主要工资集中在15-20K左右居多,其次为10K-15K左右。从抓取的数据来看,多数工资的构成仍然是普通产品经理岗位的工资,10K-15K左右为数据产品经理的薪资范围,15-20K是真正属于AI产品经理的岗位薪资。

我们先写一个最基本的爬虫小程序。

作为产品经理、增长黑客、亦或AI产品经理,难免会在日常工作中需要使用和分析第三方的数据,比如百度API Store,聚合数据等公开的第三方数据服务提供商,从事淘宝客产品的伙伴,可能需要分析淘宝的商品数据。

一、爬取招聘数据

我们此次采取的是删除包含某个关键词的数据:

通常我们的数据可视化包含:

betway 27

betway 28

再者,我们来说一下比较深入一点的爬虫抓取工程,通常思路:

不管是哪一种类型的产品经理,遇到问题的第一时间,想到的并不是需要用写代码去解决问题(请记住我们是产品经理,我们不是负责开发的伙伴),而是利用现有的工具,数据的抓取工作也是同样的道理。现有的第三方工具,比如八爪鱼(

从这次数据分析来看,Kevin是不是对去从事AI产品经理充满了信心呢?

我们以本次爬取拉勾的招聘数据为例,笔者首先找到招聘数据的API:

责任编辑:

我们查看数据概述数据,如果数据大部分为数字或者全是数值型数据的话,通过data.describe()方法查看数据,能够帮我们直观的看到数据的整体情况,比如最大值、最小值、中位数等数据。

我们数据已经正常导入。

我们的数据维度:共有450行,11列数据。这说明我们总共抓取到450条招聘信息,而11列说明我们设定爬取的参数时,设定了11个参数或指标。

matplotlib包含了丰富的图表,大家可以到官网上去选择自己需要用到的图表。(matplotlib:

# -*- coding:UTF-8 -*-

如果现有第三方工具不能满足需要的情况,例如John的尴尬情况,因为八爪鱼只提供Windows的版本,我的Mac无法运行,所以我选了用Python编写爬虫。而产品经理涉及相关的爬虫工作,我们只需要了解基础的爬虫程序就可以了,如果要从事比较深入的工作,好吧你可以转行从事开发的工作了,少年!

betway 29

链接: 密码:b5dz

AI产品经理工资平均数为16K,25%的伙伴能拿到19K,最高是55K,而最低仅有3K,平均工资在16K左右。由此来看,AI产品经理是产品经理这个种群中高收入的人群,产品经理虽然散步在互联网行业的各个角落,但是AI产品经理目前主要分布在并且集中在使用大数据、机器学习、深度学习、智能家居、车联网等与前沿技术相关联的公司。虽然技术的发展,AI产品将是一个新的增长极。

betway 30

2.4 对数据进行可视化理解

文章通过教学爬取招聘数据的方式,详细剖析了当今AI产品经理的岗位需求和企业招聘情况。

如果我们是使用的Python工具,第一行代码一定先写下这句,这是为了使我们在编写代码时,能够使用中文的注释或者一些中文字符。

# 2. 预处理数据

查看数据类型的重要一点,就是我们需不需要对数据类型进行转换。

在范冰的《增长黑客》一书中,提到增长黑客使用的各种方法,包括:A/B 测试、数据抓取、排队机制、提供有损服务等。由于今天我们的任务主要是基于数据分析的,我们就来简单的了解一下数据抓取。

工作:Python2.7

  1. 删除空值数据;
  2. 去除重复值数据;
  3. 删除异常值数据;
  4. 删除包含某个关键词的数据或者不包含某个关键词的数据。
  • 上海 82
  • 东莞 1
  • 佛山 1
  • 北京 153
  • 南京 12
  • 南宁 1
  • 厦门 11
  • 合肥 5
  • 天津 3
  • 宁波 2
  • 常州 1
  • 广州 51
  • 成都 3
  • 杭州 64
  • 武汉 12
  • 济南 2
  • 深圳 14
  • 珠海 2
  • 石家庄 1
  • 苏州 11
  • betway ,西安 4
  • 贵阳 1
  • 郑州 4
  • 重庆 3
  • 长沙 5

题图来自 Unsplash,基于 CC0 协议返回搜狐,查看更多

城市:

商业情报领域,有一个被称为奥地利学派的理论,他们主要关注不能量化的信息,而非公式化的信息,认为这类信息才是高利润的来源,并且指出商业情报工作的重点,应该是不能用数据或统计分析方法解决的问题。

import requests

betway 31

链接: 密码:b5dz

betway 32

betway 33

我们从拉勾上爬取有关AI产品经理的招聘数据:

从数据来看:北京AI产品经理招聘岗位153个,上海82个,杭州64个,广州51个。通过地理分布来看,AI产品经理作为一个新的产品经理品种,仍是集中在北上杭广三大地区。

本文由必威发布于betway互联网,转载请注明出处:爬取拉勾网北京产品经理数据分析的结果,招聘

关键词:

最火资讯