巧用 Python 找工作(资料在文末)
前言
近年来 Python 之火大家都有感而知,那亲们知道北京的 Python 开发岗位、运维开发岗位招聘地域都是如何分布的吗?薪水如何?是否有前景等等,这些数据呢直接通过招聘信息来了解到企业用人是最直接的,也是最简单的途径。
那本次将通过分享 Python 来抓取拉钩的招聘信息,然后加以分析,做一个北京的 Python 职位地域分布、薪资范围、福利待遇等维度出一个简单的分析报告,希望能帮助到想在 Python 这片田地耕耘的童鞋在发展方向上有所参考。
用到的工具
使用 Python 的 requests 工具到招聘网站爬取我们想要的数据,分析和可视化也使用 Python 的相关模块来实现,主要有如下:
- Python 版本:Python 3.x
- requests:发起请求,从网站抓取数据
- math:数学运算函数,向上取整,这里主要用于分析数据
- time:时间模块,主要是控制爬虫不会因为频繁请求而被网站拉进小黑屋
- pandas:数据抓取后使用该模块保存为 csv 文件到本地
- matplotlib:可视化画图
- pylab:设置画图能显示中文
- wordcloud、scipy、jieba(字符串分割成单词):生成中文词云
如何进行数据抓取
使用 Chrome 打开拉钩网站,在网站输入“Python开发” 职位,使用 “检查” 功能查看网页源码。发现拉钩有反爬机制,职位信息并不在源代码里,而是在 JSON 文件里,因此直接通过 JSON 获取数据即可。

抓取信息时,需要加上头部信息,才能获取到数据。(原理很简单:你得伪装成一个 正常的 client 去请求网页才能拿到想要的数据)
def get_json(url, num):
'''从网页获取JSON,使用POST请求,加上头部信息'''
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36',
'Host': 'www.lagou.com',
'Referer':'https://www.lagou.com/jobs/list_python%E5%BC%80%E5%8F%91?labelWords=&;fromSearch=true&suginput=',
',
'X-Anit-Forge-Token': 'None',
'X-Requested-With': 'XMLHttpRequest'
}
data = {
'first': 'true',
'pn': num,
'kd': 'Python开发'}
res = requests.post(url, headers=headers, data=data)
res.raise_for_status()
res.encoding = 'utf-8'
# 得到包含职位信息的字典
page = res.json()
return page
在搜索结果的第一页,我们可以从 JSON 里读取总职位数,按照每页 15 个职位,获得要爬取的页数。再使用循环按页爬取,将职位信息汇总,输出为 CSV格式。
序运行如下:

抓取结果如下:

数据可视化画图展示
1、根据薪资制作直方图
薪资比例描述和可视化出图


2、根据岗位地域分布制作饼图

3、制作词云
将职位福利这一列数据进行汇总,按照词语出现的频率生成云词实现 Python 可视化,以下是原图和云词图对比:

作者:Nick
某上市公司高级运维,业务运维负责人,主导运维自动化的开发与运维前沿技术的落地,曾就职中石油、魔秀科技,5年从业经验,经历了运维到运维开发的转变。
获取资料的方式如下:
Nick 分享<Python 分析拉钩职位>
时间:2018-11-15
21:00-22:00
PPT+ 视频
链接: https://pan.baidu.com/s/1tzG1adgpn23TSKvnR6XmYg 提取码: 2p2t
项目代码:https://github.com/nicksors/JobAnalysis
参与方式:扫码添加小助手备注:公开课,会拉入直播分享群分享结束后会把资料分享给大家
巧用 Python 找工作(资料在文末)的更多相关文章
- 金三银四科学找工作,用python大数据分析一线城市1000多份岗位招聘需求
文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 每年的三四月份是招聘高峰,也常被大家称为金三银四黄金招聘期,这时候上一 ...
- 让大蛇(Python)帮你找工作
前段时间用Python实现了一个网络爬虫(让大蛇(Python)帮你找工作),效率总体还可以,但是缺点就是每次都需要手动的去触发,于是打算对该爬虫加上Timer,经过网上一番搜索以及API的查询,发现 ...
- Python学到什么程度就可以去找工作?掌握这4点足够了!
大家在学习Python的时候,有人会问“Python要学到什么程度才能出去找工作”,对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来,一般都不会有什么问 ...
- Python学到什么程度才可以去找工作?掌握这4点足够了!
大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...
- 安卓开发视频教程!想找工作的你还不看这份资料就晚了!Android校招面试指南
前言 准备面试其实已经准备了挺久了,当时打算面试准备了差不多以后,跟公司谈谈涨薪的事情,谈不拢的话,就年后直接找其他的公司.谁想到婚假还没休完,老板就在公司宣布了撤出上海的决定,愿意去深圳的就去,不愿 ...
- 安装了Anaconda之后,Maya运行报错,Python 找不到 Maya 的 Python 模块
以前Maya用的好好地,结果安装了Anaconda之后,maya启动以后,日志就会报错(如下),只能自主建模,不能打开以前创建的模型,也不能导入fbx,错误提示就是Maya找不到Python模块,在网 ...
- 巧用Excel提高工作效率
程序员如何巧用Excel提高工作效率 主要讲解下Excel中VLOOKUP函数的使用,相比于上一篇中的内容,个人觉得这个相对高级一些. 1.使用背景 为什么会使用到这个函数呢,背景是这样的,有两个系统 ...
- [Job] 找工作小结
有近2个月没有更新博客,主要精力放在了投递会议论文和秋招找工作方面.这里简单总结一下秋招笔试面试的几点建议和感受. 投递的NLP算法工程师岗位,主要参加过面试的公司有腾讯(春招),蚂蚁金服(春招),追 ...
- Java+Python+前端 学习资料大全 百度云盘
Java架构师3大阶段 链接:https://pan.baidu.com/s/1DlXh33y5t4cZUmZH0cLvCw 提取码:5s76 2019前端架构阶段 链接:https://pan.ba ...
随机推荐
- #003 React 组件 继承 自定义的组件
主题:React组件 继承 自定义的 组件 一.需求说明 情况说明: 有A,B,C,D 四个组件,里面都有一些公用的逻辑,比如 设置数据,获取数据,有某些公用的的属性,不想在 每一个 组件里面写这些属 ...
- MDRT_<>$表
数据库中有好多的MDRT打头的表,而这些表的字段都是一样的,那这些表是做什么用呢? MDRT_<>$: 用来存储与空间索引相关的信息.这些表与常规表不一样,不能做复制,删除,新建等.如果对 ...
- AOP-Pointcut-笔记
一.Pointcut 这是切点的抽象.一个切点由一个的类过滤器和一个方法匹配器组成. 将整个代码贴上来 /** * Core Spring pointcut abstraction. * * < ...
- BZOJ2694:Lcm——包看得懂/看不懂题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2694 Description 对于任意的>1的n gcd(a, b)不是n^2的倍数 也就是说 ...
- 在Windows10中更改”WIN+E“快捷键打开目标
1> 复制下面代码到记事本保存为launch.vbs 2> 然后打开Regedit.exe并创建以下注册表分支 HKCU:\Software\Classes\CLSID\{52205fd8 ...
- print输出
python中的print输出可以用逗号"," >>> a = 1 >>> b = 2 >>> print a,b 1 2 逗 ...
- 记一次js之button问题
问题描述:记得某天,发现一件让我非常气愤的事情,居然因为一个按钮导致页面跳转失败或者是根本跳转不了界面,哪怕404也不给我报. 问题回现步骤: (1)正常输入url localhost:8080/te ...
- Linux磁盘分区和挂载
Linux磁盘分区和挂载 分区 分区的方式: mbr分区 最多支持4个主分区 系统只能安装到主分区上 扩展分区要占用一个主分区 MBR最大支持2TB,但拥有最好的兼容性 gtp分区 支持无线多个主分区 ...
- 转载:【架构师之路】依赖注入原理---IoC框架
原文地址:http://www.cnblogs.com/jhli/p/6019895.html 1 IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象 ...
- 洛谷P4245 【模板】MTT(任意模数NTT)
题目背景 模板题,无背景 题目描述 给定 22 个多项式 F(x), G(x)F(x),G(x) ,请求出 F(x) * G(x)F(x)∗G(x) . 系数对 pp 取模,且不保证 pp 可以分解成 ...