Pyhton爬虫实战 - 抓取BOSS直聘职位描述 和 数据清洗
零、致谢
感谢BOSS直聘相对权威的招聘信息,使本人有了这次比较有意思的研究之旅。
由于爬虫持续爬取 www.zhipin.com 网站,以致产生的服务器压力,本人深感歉意,并没有 DDoS 和危害贵网站的意思。
2017-12-14 更新 : 在跑了一夜之后,服务器 IP 还是被封了,搞得本人现在家里、公司、云服务器三线作战啊
一、抓取详细的职位描述信息
1.1 前提数据
这里需要知道页面的 id 才能生成详细的链接,在 Python爬虫框架Scrapy实战 - 抓取BOSS直聘招聘信息 中,我们已经拿到招聘信息的大部分信息,里面有个 pid
字段就是用来唯一区分某条招聘,并用来拼凑详细链接的。
是吧,明眼人一眼就看出来了。
1.2 详情页分析
详情页如下图所示
在详情页中,比较重要的就是职位描述
和工作地址
这两个
由于在页面代码中岗位职责
和任职要求
是在一个 div 中的,所以在抓的时候就不太好分,后续需要把这个连体婴儿,分开分析。
1.3 爬虫用到的库
使用的库有
- requests
- BeautifulSoup4
- pymongo
对应的安装文档依次如下,就不细说了
1.4 Python 代码
1 | 复制代码""" |
代码 easy,初学者都能看懂。
1.5 再啰嗦几句
在 上一篇文章 中只是爬了 上海-PHP
近300条数据,后续改了代码,把12个城市的 PHP 相关岗位的数据都抓下来了,有3500+条数据,慢慢爬吧,急不来。
像这样
二、数据清洗
2.1 校正发布日期
1 | 复制代码"time" : "发布于03月31日", |
这里拿到的都是这种格式的,所以简单处理下
1 | 复制代码import datetime |
2.2 校正薪水以数字保存
1 | 复制代码"salary" : "5K-12K", |
1 | 复制代码# 薪水处理成数字 |
2.3 根据 工作经验年限 划分招聘等级
1 | 复制代码# 设置招聘的水平 |
这里有点坑的就是,一般要求经验不限
的岗位,需求基本都写在任职要求
里了,所以为了统计的准确性,这个等级的数据,后面会被舍弃掉。
2017-12-14 更新:
从后续的平均数据来看,这里的经验不限
,一般要求的是1-3年
左右,但是还是建议舍弃掉。
2.4 区分开<岗位职责>和<任职要求>
对于作者这个初学者来说,这里还没有什么好的方法,知道的同学,请务必联系作者,联系方式在个人博客里
so , i’m sorry.
为什么这两个不好划分出来呢?
因为这里填的并不统一,可以说各种花样,有的要求在前,职责在后,有的又换个名字区分。目前看到的关于要求的有['任职条件', '技术要求', '任职要求', '任职资格', '岗位要求']
这么多说法。然后顺序还不一样,有的要求在前,职责在后,有的又反之。
举个栗子
会基本的php编程!能够修改简单的软件!对云服务器和数据库能够运用!懂得微信公众账号对接和开放平台对接!我们不是软件公司,是运营公司!想找好的公司学习的陕西基本没有,要到沿海城市去!但是我们是实用型公司,主要是软件应用和更适合大众!
啥也不说的,这里可以认为这是一条脏数据
了。
不行,再举个栗子
PHP中级研发工程师(ERP/MES方向)
1、计算机或相关学科本科或本科以上学历;
2、php和Java script的开发经验。
3、Linux和MySQL数据库的开发经验;
5、有ERP、MES相关开发经验优先;
6、英语的读写能力;
7、文化的开放性;
我们提供
1、有趣的工作任务;
2、多元的工作领域;
3、与能力相关的收入;
4、年轻、开放并具有创造力的团队和工作氛围;
5、不断接触最新科技(尤其是工业4.0相关);
这个只有要求,没职责,还多了个提供,我乐个趣 ╮(╯▽╰)╭
所以,气的想骂人。
ok ,现在我们的数据基本成这样了
1 | 复制代码{ |
由于还没到数据展示的时候,所以现在能想到的就是先这样处理了
项目开源地址:git.jtahstu.com/jtahstu/Scr…
三、展望和设想
首先这个小玩意数据量并不够多,因为爬取时间短,站点唯一,再者广度局限在 PHP 这一个岗位上,以致存在一定的误差。
所以为了数据的丰富和多样性,这个爬虫是一定要持续跑着的,至少要抓几个月的数据
才算可靠吧。
然后准备再去抓下拉勾网
的招聘数据,这也是个相对优秀的专业 IT 招聘网站了,数据也相当多,想当初找实习找正式工作,都是在这两个 APP 上找的,其他的网站几乎都没看。
最后,对于科班出身的学弟学妹们,过来人说一句,编程相关的职业就不要去志连、钱尘乌有、five eight桐城了,好吗?那里面都发的啥呀,看那些介绍心里没点数吗?
四、help
这里完全就是作者本人依据个人微薄的见识,主观臆断做的一些事情,所以大家有什么点子和建议,都可以联系作者,多交流交流嘛。
后续会公开所有数据,大家自己可以弄着玩玩吧。
我们太年轻,以致都不知道以后的时光,竟然那么长,长得足够让我们把一门技术研究到顶峰,乱花渐欲迷人眼,请不要忘了根本好吗。
生活总是让我们遍体鳞伤,但到后来,那些受伤的地方一定会变成我们最强壮的地方。 —海明威 《永别了武器》
本文章采用 知识共享署名2.5中国大陆许可协议 进行许可,欢迎转载,演绎或用于商业目的。
本文转载自: 掘金