| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python网络爬虫及数据可视化(软科中国大学专业排名|计算机科学与技术) -> 正文阅读 |
|
[Python知识库]Python网络爬虫及数据可视化(软科中国大学专业排名|计算机科学与技术) |
设计内容: 对中国大学专业排名网站中2021年,计算机科学与技术专业,进行数据爬取和数据可视化。 URL地址:https://www.shanghairanking.cn/rankings/bcmr/2021/080901 纪念下本学期的python期末大作业 ~~~ 具体实现思路如下: 1.使用requests库中的get方法获取网页源代码。 2.配合使用BeautifulSoup进行简单的网页结构数据分析及清洗,提取出该专业的前10所大学的数据(学校名称、总分)。 3.使用matplotlib库绘制柱状图 一下是实现后的效果图: 在编写代码之前先将所使用到的库(requests、BeautifulSoup、lxml、matplotlib)安装配置好所需环境
环境搭建完毕后下面进入正题,上代码:
以上第一步,首先将下载好的库导入项目中。 第二步开始前我们需要对其网页html结构进行分析,在Chrome浏览器下按F12进入开发者工具,在开发者工具上方可以看到箭头一样的标识按钮,使用它可以快速跳转到指定样式的html结构内部,举个例子: 在这里我们可以得知我们需要的两个数据之一学校名称“清华大学”写在<a></a>标签内,另外我们需要的表示学校分数的数据则写在<div></div>标签内,其标签类名分别定义为:class="name-cn",class="score",在该排名榜网页中其他的学校如:“北京大学”,“浙江大学”,“哈尔滨工业大学”...等也是如此结构,在我们了解需要的数据在html中的基本结构后就可以开始了
以上步骤首先我们通过使用requests中的get方法对该网页进行发送请求,获取响应。 随后通过response.content.decode(encoding='utf-8')从响应中获取数据,创建BeautifulSoup对象将获取到的数据传入指定解析器为lxml。 在第二步开始前我们已经进行过分析 接着通过Beautiful下的find_all方法来通过attrs来指定属性字典进行查找获取到所有类名为'name-cn'的学校名称和类名为'score'的学校分数。 最后我们通过遍历并拿到所需的十组大学的数据(学校名称、学校分数)分别保存在两个新的列表中,通过reverse()方法进行逆序,将两组数据分别从先到后、从低到高排序。
第三步调用matplotlib库初始可视化界面默认参数,设置其长宽大小,x、y轴所使用到的数据, 最后通过show()方法显示可视化界面。 在这里我们可能会出现一个问题导致无法成功运行程序 ?提示报错:UserWarning: Glyph 21271 (\N{CJK UNIFIED IDEOGRAPH-5317}) missing from current font. 这是因为matplotlib中文乱码的问题 解决这个问题有两种方案: ①将Mircosoft YaHei UI字体文件(一般在C:\Windows\Fonts路径内可以找到)添加到 自己的python安装目录\Lib\site-packages\matplotlib\mpl-data\fonts\ttf ②添加以下代码为matplotlib库指定默认字体:
通过上述方案即可解决。 完成以上所有步骤后程序正常运行~~~ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 4:38:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |