用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X

首先,需要明确的是,爬取各大高校的方法一般是通过网络爬虫来实现的。Python有多个优秀的网络爬虫框架,如Scrapy和BeautifulSoup等。在本攻略中,我们将会使用BeautifulSoup来实现爬取各大高校的操作,并使用Matplotlib将爬取结果进行可视化展示。

步骤一:安装必要的库

首先,需要安装必要的Python库,包括requests、beautifulsoup4和matplotlib。可以使用pip命令进行安装。

pip install requests
pip install beautifulsoup4
pip install matplotlib

步骤二:爬取高校数据并保存至CSV文件

接下来,我们将使用Python爬虫爬取各大高校的数据,并将结果保存至CSV文件中。在本攻略中,我们以爬取“世界一流大学”为例进行说明。

import requests
from bs4 import BeautifulSoup
import csv

# 设置请求头信息
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'
}

# 发送请求并获取响应数据
response = requests.get('https://www.shanghairanking.cn/rankings/bcur/2021', headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')

# 获取数据并保存至CSV文件
table = soup.select('.rk-table tbody tr')
data = []
for tr in table:
    td_list = tr.select('td')
    name = td_list[1].text.strip()
    rank_num = td_list[0].text.strip()
    location = td_list[2].text.strip()
    data.append([rank_num, name, location])

# 写入CSV文件
with open('university_rank.csv', 'w', newline='', encoding='utf-8-sig') as f:
    writer = csv.writer(f)
    writer.writerow(['排名', '学校名称', '所在地'])
    writer.writerows(data)

在上述代码中,我们首先设置请求头信息(用来避免被网站识别为爬虫),然后发送请求并使用BeautifulSoup对响应数据进行解析。最后,我们获取到所需的数据并将其保存在CSV文件中。

步骤三:可视化展示爬取结果

最后,我们使用Matplotlib将爬取结果进行可视化展示。在本攻略中,我们将使用水平柱状图来展示各大高校的排名。

import matplotlib.pyplot as plt
import pandas as pd

# 读取CSV文件数据
df = pd.read_csv('university_rank.csv')

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']

# 绘制水平柱状图
plt.barh(df['学校名称'], df['排名'])

# 设置标题和标签
plt.title('2021世界一流大学排名')
plt.xlabel('排名')

# 显示图形
plt.show()

在上述代码中,我们首先使用pandas库读取CSV文件中的数据。然后,我们使用Matplotlib绘制水平柱状图,并对图形进行设置和美化。

通过以上步骤,我们实现了Python爬取各大高校并可视化展示的功能。通过将以上代码组合起来,我们可以实现更加复杂的功能,如爬取多个网站并将结果进行对比展示等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 2019哪一种编程语言发展“钱”景更好?10大主流编程语言分析

    2019哪一种编程语言发展“钱”景更好?10大主流编程语言分析 在2019年,编程语言的热度有了很大的变化。本文将对10大主流编程语言进行分析,看看哪一种语言具有更好的发展“钱”景。 1. Python Python在近年来面向数据科学领域有了很大的发展,尤其是人工智能和机器学习领域。Python的代码简洁易懂,也是初学者的首选语言。Python的应用场景涵…

    python 2023年6月5日
    00
  • python 中不同包 类 方法 之间的调用详解

    下面我将来一步步详细讲解“python 中不同包 类 方法 之间的调用”的攻略。 1. 包的导入 要使用不同包之间的类或方法,首先需要导入相应的包。在Python中,可以使用import命令来导入包。一个包就是一个由模块和其它子包组成的文件夹。 1.1. 导入同级目录下的包 当要导入同级目录下的包时,可以使用以下语句: import 包名 例如,有一个名为t…

    python 2023年6月3日
    00
  • python字典dict中常用内置函数的使用

    来讲一讲Python字典dict中常用内置函数的使用吧! 字典dict的定义 字典dict是Python中比较重要的数据结构之一,用大括号{}表示,它由花括号包围的一些键值对组成,每个键值对用逗号分隔,键和值之间用冒号“:”分隔。如下所示: # 示例一:定义一个字典 my_dict = {"name": "Linda"…

    python 2023年5月13日
    00
  • 如何让 python 命令回到使用 python 2.7 Ubuntu?

    【问题标题】:How to get the python command to go back to using python 2.7 Ubuntu?如何让 python 命令回到使用 python 2.7 Ubuntu? 【发布时间】:2023-04-01 10:45:02 【问题描述】: 所以我犯了一个错误,将 python 命令路由到 python 3…

    Python开发 2023年4月8日
    00
  • ROS1 rosbag的详细使用并且使用python合并bag包的方法

    下面是关于“ROS1 rosbag的详细使用并且使用python合并bag包的方法”的完整攻略: 什么是ROS1 rosbag ROS1 rosbag是ROS中一个非常强大的数据记录与回放工具,可以用来记录机器人传感器、控制指令、软件节点的输入输出等所有的ROS中的消息话题。记录下来的数据可以通过rosbag play命令进行回放,从而方便地对机器人的行为进…

    python 2023年6月2日
    00
  • python字典通过值反查键的实现(简洁写法)

    首先需要了解,在 Python 中,字典是一种 key-value 键值对的数据结构,其中的 key 是唯一的,而 value 则可以重复。如果想通过字典中的 value 值来获取对应的 key 值,可以使用以下代码: my_dict = {"A": 1, "B": 2, "C": 3} my_va…

    python 2023年5月13日
    00
  • python之路——爬虫实例

    urlController.py import bsController from urllib import request class SpiderMain(object): def __init__(self): self.header = {‘User-Agent’: ‘Mozilla/5.0 (X11; Linux x86_64) AppleWeb…

    爬虫 2023年4月13日
    00
  • python实现字符串和数字拼接

    Python中字符串和数字都是不同类型的对象,不能直接进行拼接操作,需要进行类型转换。下面是实现字符串和数字拼接的步骤: 步骤1:将数字转换为字符串类型 可以使用str()函数,将数字类型的对象转换为字符串类型。例如,将数字1转换为字符串类型: num = 1 str_num = str(num) print(str_num) 输出:1 步骤2:使用字符串格…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部