15分钟,教你用Python爬网站数据,并用BI可视化分析!_招聘网站信息抓取可视化分析

文章讲述了使用Python爬虫抓取智联招聘上BI工程师的岗位信息,包括薪资、工作经验和学历要求,并利用FineBI进行数据清洗、计算和可视化,分析了各城市BI工程师的薪资分布及趋势。
摘要由CSDN通过智能技术生成

eduLevel=dic[‘eduLevel’][‘name’] #学历要求
workingExp=dic[‘workingExp’][‘name’] #工作经验
print(jobName,company,salary,city,jobtype,eduLevel,workingExp)
writer.writerow([jobName,company,salary,city,jobtype,eduLevel,workingExp])
param={ ‘start’:0,
‘pageSize’:60,
‘cityId’:489,
‘workExperience’:-1,
‘education’:-1,
‘companyType’: -1,
‘employmentType’: -1,
‘jobWelfareTag’: -1,
‘kw’: ‘BI工程师’, #搜索关键词,可以根据你需要爬取的岗位信息进行更换
‘kt’: 3,
‘lastUrlQuery’: {“p”:1,“pageSize”:“60”,“jl”:“681”,“kw”:“python”,“kt”:“3”}
}#参数配置
pages=range(1,31)#爬取1-30页数据
out_f = open(‘test.csv’, ‘w’, newline=‘’)
writer = csv.writer(out_f)
writer.writerow([‘jobName’,‘company’,‘salary’,‘city’,‘jobtype’,‘eduLevel’,‘workingExp’])
for p in pages: #自动翻页
param[‘start’]=(p-1)*60
param[‘lastUrlQuery’][‘p’]=p
url = ‘https://fe-api.zhaopin.com/c/i/sou?’ + urlencode(param)
GetData(url,writer)
time.sleep(3)#间隔休眠3秒,防止IP被封
print§
out_f.close()


经过一番编译调试,代码成功运行。


![img](https://img-blog.csdnimg.cn/img_convert/b55437d710f0542f8c66b69a7a9121ae.png)


全部数据爬取完毕,一共1800条,保存在本地CSV文件中。


数据是爬到了,具体我想了解哪些信息呢:各城市的BI岗位需求情况以及薪资水平;薪水随工作经验的涨幅情况,以及有哪些具体的高薪岗。


由此可见,想要分析的角度很多,且看了源数据,还要做不少的数据处理。最简单快速出可视化的方法自然是用BI工具,来对数据做简单清洗加工,并呈现可视化。



> 
> BI能应付绝大多数场景的数据分析,尤其擅长多维数据切片,不需要建模;甚至数据清洗环节也能放在前端,通过过滤筛选、新建计算公式等来解决。最后呈现可视化,并可设计数据报告。
> 
> 
> 


这里我用FineBI来做这样一份分析。


FineBI做分析大体是这样的流程:连接/导入数据——数据处理/清洗(过滤、筛选、新增公式列)——探索式分析——数据可视化——出报告。


### **二、数据清洗加工**


**1.薪水上下限分割:**


将CSV文件数据导入FineBI中(新建数据链接,建立一个分析业务包,然后导入这张excel表)。因为薪水是以xxK-xxk(还有一些类似校招/薪资面议的数据)的形式进行存储的,我这边使用FineBI新增公式列(类似excel函数)将这些字符进行分割:


薪水下限(数值):left( indexofarray ( split (salary,“-”) ,1),find( “K”,INDEXOFARRAY( split(salary,“-”) ,1))-1)


薪水上限(含K字符):right ( indexofarray( split(salary,“-”) ,2),len(salary)- find(“K”,indexofarray(split(salary,“-”),2 ) ) )


薪水上限(数值):left( 薪水上限(文本),find(“K”,薪水上限(文本))-1 )


这样就得到每个岗位的数值格式的薪水区间了:


![img](https://img-blog.csdnimg.cn/img_convert/1b452b81a13ebeef43eb2fcb351123e6.png)


**2.脏数据清洗:**


浏览了一下数据,没有大问题,但是发现里面有一些类似BIM工程师的岗位信息,这些应该都是土木行业的工程师,这边我直接过滤掉即可(不包含“BIM”且不包含“bim”)。


![img](https://img-blog.csdnimg.cn/img_convert/64eb61824073c72c296356ce59965ba7.png)  
 **3.岗位平均数据计算**


再新增列,平均薪水=(薪水下限+薪水上限)/2,即可得到每个岗位的平均薪水。


![img](https://img-blog.csdnimg.cn/img_convert/1993c212bab8822c9316349b55a1d1ab.png)


**4.真实城市截取**


由于城市字段存储有的数据为“城市-区域”格式,例如“上海-徐汇区”,为了方便分析每个城市的数据,最后新增列“城市”,截取“-”前面的真实城市数据。


城市:if(find(“-”,city)>0 , left(city, find(“-”,city)-1 ),city)


![img](https://img-blog.csdnimg.cn/img_convert/1a08fcab86c8cbe46eb0c7fae0a44d4e.png)


至此,18000多条数据差不多清洗完毕,食材已经全部准备好,下面可以正式开始数据可视化的美食下锅烹饪。


### **三、数据可视化**


数据可视化可以说是很简单了,拖拽要分析的数据字段即可。


但是这里用finebi分析要理解一个思路。常规我们用excel做分析或者说做图表,是先选用钻则图表然后设定系列、数值。这里没有系列和数值的概念,只有横轴和竖轴。拖入什么字段,该字段就以该轴进行扩展,至于图表嘛,finebi会自动判别推荐。


我这边以各城市平均薪水/岗位数量分析为例给大家简单展示FineBI的可视化呈现过程。


1、横轴以“城市”字段扩展,展现两类数据。先是薪水值,拖拽到纵轴,默认对数值类的字段是汇总求和的。点击字段可直接对改字段修改计算、过滤等操作。


![img](https://img-blog.csdnimg.cn/img_convert/bb6fca0ace7a92f3ffd740694d01fb91.gif)


此图来自官网,图中数据不是本次分析的数据,仅供参考


2、然后分析每个城市BI岗位的情况。将数据记录数这个指标拖入到纵轴展示。同样的方式,可以修改字段名。这里为了区分两者,将其修改为折线图,并且倒叙展示。


![img](https://img-blog.csdnimg.cn/img_convert/e9e7a490f552e4627264020bad5fa507.gif)


同理,其他图表也是这样的操作,想清楚展现什么样的数据,怎样展现,数据要作何处理。就得心应手了。其他图表就不一一赘述了。


最后,大概花了15分钟,一份完整的智联招聘网站-BI工程师岗位数据分析的可视化报告就制作完成啦~


![img](https://img-blog.csdnimg.cn/img_convert/7c7fd3554aac437a1f6c62a42e987de8.png)


审美有限,只能做成这样,其实这个FineBI还能做出这样的效果。


![img](https://img-blog.csdnimg.cn/img_convert/90863b5ed934973899596baafb78cb57.png)


![img](https://img-blog.csdnimg.cn/img_convert/eddfe658134d5f2a79217940ca37ae6b.png)


### **四、分析结果**


1.目前BI工程师岗位在智联招聘网站的平均薪资为13.46K(痛哭。。。拉低平均薪水的存在),主要薪水区间大概在12-15K(占比27.07%),相关工作需求总数为634个(仅仅为某一天的招聘需求数据)。


2.从城市岗位需求数量分布来看,BI工程师需求主要集中在北京、上海、深圳、广州区域;各城市BI工程师平均薪水方面,去除岗位需求量较少的城市来看,国内排在前面的分别为深圳(14.72K)、上海(14.59K)、北京(14.51)、杭州(12.07K)、成都(11.13K)、广州(10.94K)。


3.从工作年限的平均薪水和岗位需求数量来看,工作5-10年的资深BI工程师的平均薪水可以达到20K以上(朝资深BI工程师方向奋斗!!!1年以下年限的计算出来的平均薪水虽然为19K,但是由于样本量只有3个,所以参考意义不大),其中大部分的工作需求年限为3-5年,平均薪水为14.24K。


4.从学历方面来看,最低学历需求主要以本科/大专为主,本科和大专学历要求的平均薪资分别为12.68K和11.97K(感觉差距并不大,过硬的技术实力可能才是企业最为看重的吧),博士和硕士学历需求很少。


5.看了一些高薪的招聘企业,最高的可以给到30K~40K的薪酬水平,其中主要是互联网、IT类公司为主。


醍醐灌顶,顿时有了奋斗的动力~知识就是财富,继续好好学习去吧,少年!!!


### 关于Python技术储备


学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!




如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费**学习**大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。



### 一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。



![](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

### 二、学习软件



工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。



![](https://img-blog.csdnimg.cn/img_convert/8c4513c1a906b72cbf93031e6781512b.png)



### 三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

![](https://img-blog.csdnimg.cn/img_convert/eec417a3d4d977b313558a11d3c13e43.png)



### 四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。



![](https://img-blog.csdnimg.cn/img_convert/ec690501ea1dbe2cb209cbf4013c2477.png)  

![](https://img-blog.csdnimg.cn/img_convert/3eaeaa6747419c9d86c72e0d10d0a6a2.png)



### 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。



![](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)



### 五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

![](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python虫综合作业的数据可视化分析是基于抓取Python职位数据的结果进行分析和展示。首先,我们需要使用Python虫技术抓取招聘网站或者职位搜索平台上的Python职位相关信息,包括职位名称、薪资、公司名称、工作地点、发布日期等。 抓取到的数据可以存储在数据库中,比如MySQL或者MongoDB等。接下来,我们可以使用数据分析可视化的库,比如pandas、numpy、matplotlib等,对数据进行处理和可视化分析。 首先,我们可以使用pandas进行数据清洗和转换,比如去除重复数据、空数据、格式转换等。然后,我们可以使用pandas进行数据统计和分析,比如计算平均薪资、城市分布、公司薪资排名等。 接着,我们可以使用matplotlib库进行数据可视化。可以绘制一些统计图表,比如直方图、饼图、散点图、折线图等,以展示数据的分布、趋势和关联性。比如,我们可以通过柱状图展示不同城市Python职位的数量,通过饼图展示不同薪资区间的职位比例等。 此外,我们还可以使用其他可视化工具进行更加复杂和多样化的数据展示。比如使用Tableau、Power BI等工具,可以生成更加交互式和美观的数据可视化报表和仪表盘,让数据更加直观和易于理解。 最后,我们可以对可视化的结果进行解读和分析,从中获取一些有用并且具有洞察力的信息。比如,我们可以发现哪些城市的Python职位需求量较高,哪些薪资区间的职位更为普遍等。 综上所述,通过Python虫技术抓取Python职位数据,并使用数据分析可视化工具对其进行分析和展示,可以帮助我们更好地了解Python职位市场的情况,并从中获取有价值的信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值