商务服务
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/ , 查看更多   
最新新闻
原创浪姐全员机场走秀,61岁叶童白发飒爽,老钱风穿搭气质压全场
凌晨五点,完成了《浪姐6》的首次公演录制,姐姐们全员现身机场,一个个都自带明星气场,让整个机场都星光璀璨。其中,最亮眼的
金饰品价飙到941元,中信证券:行情可能仍未结束
现货黄金周一高开5美元,将历史新高刷新至3090美元/盎司。国内金饰价格也随之上扬,黄金品牌周生生足金饰品报价941元/克,相比28
不管谁打来电话,这5种电话不要随意接听,立马挂断
以下是文章的改写版本:这些以数字开头的陌生来电往往是推销或诈骗电话。骗子通过国外的虚拟号码平台伪造来电,骗取国内用户回拨
疯狂追星:村民开拖拉机要赵薇签名 郭德纲遭强吻
  中新网11月4日电(罗攀) 3日凌晨,韩国男团EXO成员灿烈在微博透露,自己抵达上海后,遭到约20辆粉丝车尾随,险些造成交通事故
数字赋能“渝货出海” 重庆四部门保驾护航
近日,重庆市政府口岸物流办联合重庆海关、经济信息委、重庆市农业农村委共同签署《数字陆海新通道联合预警处置闭环管理机制》,
李佳琦真实建议:普通女生不做医美,没钱没闲别跟风
近日,知名网红主播李佳琦在直播中发表了一番引发热议的言论,称他不建议普通女生去做医美,并将其称为一个需要谨慎的消费选择。
京东“以攻为守”杀入外卖市场
2月11日,京东正式推出京东外卖,在本地生活赛道投下一颗深水炸弹。当日,京东外卖正式启动“品质堂食餐饮商家”招募,2025年5月
三态股份单日成交9.16亿 换手率超46%引关注
截至2025年4月15日收盘,报10.04元,较前一交易日上涨19.95%。当日为8.39元,盘中最高触及10.04元,最低下探至7.85元,振幅达26.
“只抽5%佣金”强势入局 京东外卖悄然上线
  近日,关于“京东外卖以‘只抽5%佣金’的旗号突然冲进外卖市场”的消息在多个社交平台上迅速传播,引发了广大网友和业内人士
匠心铸就大阪世博会中国馆——建设全过程关键节点回顾(下)
4月13日,2025年日本大阪世博会中国馆即将隆重开馆,这是中国建研院历时两年,采用全过程工程咨询服务模式,在海外落地完成的重