商务服务
python如何爬取网站数据并进行数据可视化
2024-11-19 03:05

前言

python如何爬取网站数据并进行数据可视化

爬取拉勾网关于python职位相关的数据信息,并将爬取的数据已csv各式存入文件,然后对csv文件相关字段的数据进行清洗,并对数据可视化展示,包括柱状图展示、直方图展示、词云展示等并根据可视化的数据做进一步的分析,其余分析和展示读者可自行发挥和扩展包括各种分析和不同的存储方式等。。。。。

一、爬取和分析相关依赖包

  • Python版本: Python3.6
  • requests: 下载网页
  • math: 向上取整
  • time: 暂停进程
  • pandas:数据分析并保存为csv文件
  • matplotlib:绘图
  • pyecharts:绘图
  • statsmodels:统计建模
  • wordcloud、scipy、jieba:生成中文词云
  • pylab:设置画图能显示中文

在以上安装或使用过程中可能读者会遇到安装或导入失败等问题自行百度,选择依赖包的合适版本

二、分析网页结构

通过Chrome搜索'python工程师',然后右键点击检查或者F12,,使用检查功能查看网页源代码,当我们点击下一页观察浏览器的搜索栏的url并没有改变,这是因为拉勾网做了反爬虫机制, 职位信息并不在源代码里,而是保存在JSON的文件里,因此我们直接下载JSON,并使用字典方法直接读取数据.即可拿到我们想要的python职位相关的信息,

待爬取的python工程师职位信息如下:

为了能爬到我们想要的数据,我们要用程序来模拟浏览器来查看网页,所以我们在爬取的过程中会加上头信息,头信息也是我们通过分析网页获取到的,通过网页分析我们知道该请求的头信息,以及请求的信息和请求的方式是POST请求,这样我们就可以该url请求拿到我们想的数据做进一步处理

爬取网页信息代码如下:

通过搜索我们知道每页显示15个职位,最多显示30页,通过分析网页源代码知道,可以通过JSON里读取总职位数,通过总的职位数和每页能显示的职位数.我们可以计算出总共有多少页,然后使用循环按页爬取, 最后将职位信息汇总, 写入到CSV格式的文件中.

程序运行结果如图:

爬取所有python相关职位信息如下:

三、数据清洗后入库

数据清洗其实会占用很大一部分工作,我们在这里只做一些简单的数据分析后入库。在拉勾网输入python相关的职位会有18988个。你可以根据工作中需求选择要入库的字段,并对一些字段做进一步的筛选,比如我们可以去除职位名称中为实习生的岗位,过滤指定的字段区域在我们指定区域的职位,取字段薪资的平均值,以最低值和差值的四分之一为平均值等等根据需求自由发挥

四、数据可视化展示

下面是对数据的可视化展示,仅以部分视图进行一些可视化的展示,如果读者想对其他字段做一些展示以及想使用不同的视图类型进行展示,请自行发挥,注:以下代码中引入的模块见最后的完整代码

1、绘制python薪资的频率直方图并保存

如果我们想看看关于互联网行业python工程师相关的岗位大家普遍薪资的一个分部区间在哪个范围,占据了多达的比例我们就可以借助matplotlib库,来将我们保存在csv文件中的数据进行可视化的展示,然我们能够更直观的看到数据的一个分部趋势

运行结果如下:

2、绘制python相关职位的地理位置饼状图

通过地理python职位地理位置的分部我们可以大致了解IT行业主要集中分部在哪些城市,这样也更利于我们选择地域进行选择性就业,可以获得更多的面试机会等,参数可自行调试,或根据需要添加。

运行结果如下:

3、绘制基于pyechart的城市分布柱状图

pycharts是python中调用百度基于js开发的echarts接口,也可以对数据进行各种可视化操作,更多数据可视化图形展示,可参考echarts官网:https://www.echartsjs.com/,echarts官网提供了各种实例供我们参考,如折线图、柱状图、饼图、路径图、树图等等,基于pyecharts的文档可参考以下官网:https://pyecharts.org/#/,更多用法也可自行百度网络资源

运行结果如下:

4、绘制python福利相关的词云

词云图又叫文字云,是对文本数据中出现频率较高的关键词予以视觉上的突出,形成"关键词的渲染"就类似云一样的彩色图片,从而过滤掉大量的文本信息,,使人一眼就可以领略文本数据的主要表达意思。利用jieba分词和词云生成WorldCloud(可自定义背景),下面就是对python相关职位的福利做了一个词云的展示,可以更直观的看到大多数公司的福利待遇集中在哪些地方

运行结果如下:

五、爬虫及可视化完整代码

完整代码在下面,代码均测试可正常运行,感兴趣的小伙伴可去尝试和了解其中的使用方法,如运行或者模块安装等失败可以在评论区进行留言,让我们一同解决吧

如果你觉得对你有帮助可以点个赞哦,原创内容转载需说明出处!!!

1、爬虫完整代码

为了防止我们频繁请求一个网站被限制ip,我们在爬取每一页后选择睡一段时间,当然你也可以使用代理等其他方式自行实现

2、可视化完整代码

数据可视化涉及到matplotlib、jieba、wordcloud、pyecharts、pylab、scipy等等模块的使用,读者可以自行了解各个模块的使用方法,和其中涉及的各种参数

    以上就是本篇文章【python如何爬取网站数据并进行数据可视化】的全部内容了,欢迎阅览 ! 文章地址:http://xiaoguoguo.dbeile.cn/news/1009.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 多贝乐移动站 http://xiaoguoguo.dbeile.cn/mobile/ , 查看更多   
最新新闻
“最难就业季”的当下,哪些高薪职业需要研究生学历?
这几年每年都在喊着“最难就业季”,本科毕业生忧,研究生毕业也愁,博士毕业生也抱怨就业很难。很多人说“教育的价值很难去评估
2024就业前景好的10大专业 就业率最高的是哪些
就业前景好的10大专业有工程管理、计算机科学与技术、口腔医学、通信工程、材料成型及控制工程统计学、教育学、软件工程、信息工
计算机就业率跌出前五!2024届就业率排名TOP20专业一览表出炉!
2024年最新的各专业就业数据发布了,值得各位家长考生留意。在1700+的专业中,能源与动力工程专业以81.12%的超高就业率成为了名
海洋渔业科学与技术专业怎么样_就业方向及前景分析
  海洋渔业科学与技术专业怎么样?很多考生和家长都对这个问题比较关注,想要充分了解海洋渔业科学与技术专业,就要看海洋渔业
去到日本没有银行卡可不行!办理流程需知道
很多同学在出国之前肯定都是比较紧张自己生活的方方面面,特别是生活费问题!可是没有银行卡,爸爸妈妈怎么把钱打过来呀!?不要急
找工作在哪个app找比较真实可靠:探索真实有效的求职App
在现在这个竞争激烈的社会,找一份好工作不容易,尤其是最近这几年。你可能会遇到各种困难和挑战,比如信息不足、简历投递无果、
适合女生的专业薪资排行榜 哪些专业工资高
适合女生工资高的专业有:金融学类专业、设计类专业、动漫类专业、土木工程专业、通信工程专业、电子信息工程专业、同声传译专业
出国打工选择哪个国家呢?
选择出国打工的国家应该根据个人情况和职业规划来决定。以下是一些比较受欢迎的出国打工目的地国家:美国、加拿大、澳大利亚、新
女生学什么专业工资高?2019女生专业就业薪水排名榜出炉!
女生学什么专业工资高?2019女生专业就业薪水排名榜出炉!   又到了高考填报志愿的时候了,女生在选择专业时要对专业感兴趣而
清代中国与日本江户时期的经济文化交流
  ——日本关西大学松浦章教授在外交学院演讲  作者:谢晶(外交学院外交学系2013级硕士研究生)日本关西大学松浦章教授在外