资料分享—— Python 分析拉钩职位
admin
2023-07-16 13:42:38
0

视频

PPT+ 视频

链接: https://pan.baidu.com/s/1tzG1adgpn23TSKvnR6XmYg 提取码: 2p2t

项目代码:https://github.com/nicksors/JobAnalysis

前言

近年来 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 获取数据即可。
资料分享—— Python 分析拉钩职位

抓取信息时,需要加上头部信息,才能获取到数据。(原理很简单:你得伪装成一个 正常的 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-Code': '0',
     '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 格式。

序运行如下:
资料分享—— Python 分析拉钩职位

抓取结果如下:
资料分享—— Python 分析拉钩职位

数据可视化画图展示

1、根据薪资制作直方图

薪资比例描述和可视化出图
资料分享—— Python 分析拉钩职位

资料分享—— Python 分析拉钩职位

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

资料分享—— Python 分析拉钩职位

3、制作词云

将职位福利这一列数据进行汇总,按照词语出现的频率生成云词实现 Python 可视化,以下是原图和云词图对比:
资料分享—— Python 分析拉钩职位

Python 第20期入门班正在火热招生中

相关内容

热门资讯

粉笔张小龙,犯了众怒 在讲台上荒诞“暴走”的张小龙,并不令人意外。6月3日,粉笔创始人张小龙作为主讲嘉宾,应邀出席一所大学...
民进党前秘书长欠台糖公司1.7... 【环球网报道】据台湾中时新闻网报道,民进党前秘书长吴乃仁在担任台糖公司董事长期间,涉及贱卖台糖土地案...
3岁小孩不知妈妈去世,因想念每... “妈妈去国外工作了,很爱你们,只是暂时回不了家。”面对三岁大宝日复一日的寻母思念,湖北武汉的李先生只...
内塔尼亚胡险遭无人机袭击,以媒... 尽管黎以停火协议已达成并开始实施,但零星交火仍在持续。以色列总理内塔尼亚胡刚离开北部边境地区,疑似真...
美媒:拜登家族不肯消失,民主党... 美国将于今年年底举行中期选举,民主党人有望夺回众议院。然而拜登家族的高调举动,使得民主党再次分心,一...
对日本新型军国主义的“新型抗战... 【文/观察者网专栏作者 江宇舟】日本这几个月的对华行为,已经是全方位的恶声、恶气、恶行、恶法:自卫队...
“这里没有口号,只有实干”——... 在黄河科技学院,有这样一个地方:没有惊天动地的口号,没有花里胡哨的“形象工程”,有的只是实验室里彻夜...
AI决定6G成败关键? 专家称... 中经记者 陈佳岚 广州报道 “6G与AI的增强融合,这部分OPPO是全力投入的。而与AI的融合,也是...
自贡:“智造”为核,无人车跑出... 盐都初夏清晨,和勤劳的人们一同早起的,还有一辆辆造型新颖的无人配送车、清扫作业车。市民杨先生对此颇有...
黄仁勋不装了:所有芯片市场我全... 来源:市场资讯 (来源:科技头版) 英伟达要当AI时代唯一的王。 出品 | 科技头版 作者 | 青...