爬取 Boss 直聘网上海区域 PHP 职位信息数据并分析 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

最近两周做了一个小项目,爬取招聘网站的数据,并做了图形可视化数据显示,之前一直在找工作,但是一直碰壁,不是简历投了没反应,就是对方告诉你不合适,哎,于是就想能不能抓取招聘网站的数据,然后分析下,而且方便自己筛选信息,更加清楚知道市场上的情况。

在线预览的地址
http://yehe.37he.cn/job/#/weekline
项目的地址
https://github.com/xianyunyh/spider_job

项目数据直接爬取boss移动端的界面,原因有两个,
第一、移动端有对应的分页的ajax接口。
比如
https://www.zhipin.com/mobile/jobs.json?page=2&city=101020100&query=PHP

第二、移动端界面元素少。dom解析稍快。

数据可能比招聘网中的数据少,因为做了过滤,比如搜索处理的PHP,可能还有java等职位,也有的是职位标题中,不含PHP。boss的搜索中,好像是只要jd中有php,都显示。所以做了过滤。

boss直聘反爬虫厉害,检测到了就是封ip,24小时,期间也用tor搭建了匿名代理,但是太慢。也自己搭建了几个http代理,但是都被封了,没办法,只有笨方法,爬慢点(sleep ),让程序认为是正常人在浏览。定时爬取的任务交给定时任务:每天10点和晚上22点各爬一次。

好了废话不多说了。先上图介绍下实现的。

一周职位发布次数趋势

[file

](https://lccdn.phphub.org/uploads/images/201808/06/24846/DYxQyB19zS.png?imageView2/2/w/1240/h/0)

上图是一周发布职位的趋势图,可以看到,最近应该是招聘淡季,每天最多不超过40个职位,也可能是因为boss直聘发布少的原因。数据我过滤了标题中,不是PHP的职位,搜出来的PHP,只要是jd中含有php,都在搜索列表,所以我过滤掉了那些信息。可能会遗漏一些,比如标题是架构师等的职位。这些比较少。每周更新职位信息,基本上都是这种趋势图。大家投简历可以在周2、3、4投递!

工作年限分析

[file

](https://lccdn.phphub.org/uploads/images/201808/06/24846/dTnigNWfTW.png?imageView2/2/w/1240/h/0)

上图就是工作年限的绘图结果,可以看出,基本上市场上需要的还是3-5年的和1-3年的开发者比较多,还是年轻好吧。还年轻的小伙伴,要加油了。年轻就是资本,可不要枉费哦。过了5年的小伙伴,也不要沮丧,毕竟还是有一部分份额的。虽然少了点!但是10年以上的,就少了,估计都是管理层了!

工作年限和薪资比例

[file

](https://lccdn.phphub.org/uploads/images/201808/06/24846/00BUBdp8SF.png?imageView2/2/w/1240/h/0)

从上图可以看到,3-5年的平均薪资在18000左右,5-10年的平均薪资在23000. 以后跳槽的时候,可以根据这个价格,作为参考,以免得自己吃亏。10年以上的需求少,只有几个,平均薪资也不是特别高。1-3年和3-5年 这个区间增长的薪资比较快。还在这个区间的小伙伴要加油,实现自己的价值!

学历分析

[file

](https://lccdn.phphub.org/uploads/images/201808/06/24846/yQFR7TTDmb.png?imageView2/2/w/1240/h/0)

上图可知,基本上招聘的信息本科占了59%,专科占了33%. 说明下,学历不限的情况,我把一些职位中要求是高中,中专,技校等全划到学历不限了。硕士生招的少,可能硕士写程序的比较少了吧。也有可能硕士都不会在网上求职的吧。 学历在我国是一个敲门砖,所以一个好学历,,一个本科让你可以多20%个机会。所以机会不等人,没有的,可以抓紧考一个!

学历和薪资分析

[file

](https://lccdn.phphub.org/uploads/images/201808/06/24846/GhFGRq4njt.png?imageView2/2/w/1240/h/0)

可以看出来,大专和本科的学历平均薪资还是差别不大的。也就是在2000左右,而本科和硕士就差别大了。所以呀,多读书,还是有用的。至少让你薪资提升不少。

发布职位最多的公司

[file

](https://lccdn.phphub.org/uploads/images/201808/06/24846/g1kvr1raJV.png?imageView2/2/w/1240/h/0)

想了解下,上海哪些公司最缺人,一直招人。图中显示,前两名远远高于后面的。感觉很奇怪,查看了一下,第一个公司是一家培训机构(大家懂滴),第二个公司,好像在宝山,成立没半年,一直招人。
可以看到,腾讯也一直在招人,感觉自己不错的小伙伴,可以去试试。腾讯那边要求(全日制本科),否则过不了HR的。

技术词云图

[file

](https://lccdn.phphub.org/uploads/images/201808/06/24846/zN3RWzS9l3.png?imageView2/2/w/1240/h/0)

技术词云图,全部都是从jd中取出来的,使用jieba分词,然后最后汇总了下。图中加黑色的都是出现频率比较高的技术词语。php、mysql、linux、JavaScript、css。php 三大框架(laravel、yii、thinkphp)、redis出现最多的。laravel出现的频率次数,仅次于 PHP、Linux、Mysql。所以用laravel的还是很多的。

技术词语,选择是全部英文的,里面可能出现了一些的不是技术的词语,比如vip等,词语全部做了小写显示,比如PHP,全部汇总到php中。html5则只取html词组。

总结

最后放下项目的地址
https://github.com/xianyunyh/spider_job
在线预览的地址
http://yehe.37he.cn/job/#/weekline

使用到的技术栈:

  • 爬虫采用的python的scrapy框架、分词用的jieba分词、pymongo库、pyquery库、redis
  • 数据存储存储在mongodb中。
  • 前端写了两版。第一版用的boostrap+jquery。第二版用的Vue。用了vue的 图表用的是v-charts、词云图 d3.js
  • 后端接口,用的PHP写的,因为写的快,就没用框架,直接加了一个mongodb/mondodb的拓展。单文件写的。后期可以会改写。会增加其他的接口

数据只爬了两周左右可能数据有点少,结果仅供参考! 爬虫中也提供了51job的爬虫,lagou的爬虫,智联的爬虫,有兴趣的可以去爬其他网站的。然后对比下。

未来这个项目可能会做些什么呢?可能会做一个查询的东西,选择各大网站,对应薪资范围,显示对应的数据,或者订阅最近的职位信息,一键投递,boss直聘自动回复等。啊哈哈,尝试写个职位匹配的算法,推荐职位信息,

如果你有有意思的idea,可以给我留言,我看能不能实现!

闲云野鹤


Original url: Access

Created at: 2018-10-10 14:18:04

Category: default

Tags: none

请先后发表评论
  • 最新评论
  • 总共1条评论
DeepMind

我是果粉我怕谁

# 爬虫项目这个项目是主要自己研究招聘网站上的职位以及对应的需求准备的一个python项目。数据来源为拉钩和直聘网。项目基于scrapy框架进行爬虫,使用mongodb存储爬取数据。- 项目目录结构图```├─backend php后端接口├─front 前端界面│  ├─job                vue│  ├─company.html       热门公司│  ├─education.html     学历分析│  ├─weekline.html      发布趋势├─tutorial python爬虫│  ├─spiders           爬虫│  │  ├─51job.py       51job爬虫│  │  ├─lagou.py       拉钩爬虫│  │  ├─zhipin.py      直聘爬虫│  ├─items.py          数据项│  ├─middlewares.py    中间件│  ├─pipelines.py      管道│  ├─settings.py       项目配置├─word.json 生成的英文技术词json├─word.py 生成英文分词├─stop.txt 停用词列表```## 安装- 请安装mongodb、redis- python 请选用3.6+以上的版本。需要的依赖有 pymongo、scrapy、redis、pyquery(后期可能会移除)- php请安装pecl [mogodb拓展](http://pecl.php.net/package/mongodb)!依赖 [mongodb/mongodb](https://packagist.org/packages/mongodb/mongodb)  ```  composer require mongodb/mongodb  ```运行爬虫```bashscrapy crawl boss #抓bossscrapy crawl 51job #抓51jobscrapy crawl lagou #拉钩```

2018-10-10 14:24:14 回复