爬取大学排行榜 https://gaokao.baidu.com/okam/pages/ranklist/index 利用pycharts可视化输出大学名称,分数信息
时间: 2024-12-12 17:32:20 浏览: 5
爬取网站并利用Python的第三方库如`BeautifulSoup`和`requests`可以获取网页数据,然后通过`pyecharts`等工具进行可视化。以下是基本步骤:
1. **安装所需库**:
首先需要安装必要的库,可以使用pip进行安装:
```
pip install beautifulsoup4 requests pyecharts pandas
```
2. **编写代码**:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import Bar
# 获取网页内容
url = "https://gaokao.baidu.com/okam/pages/ranklist/index"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
# 解析数据
data = []
for rank in soup.find_all('div', class_='rank'):
university = rank.find('h3').text.strip()
score = rank.find('span', class_='score').text.strip()
data.append([university, score])
# 创建DataFrame
df = pd.DataFrame(data, columns=['大学名称', '分数'])
# 数据处理和清洗
df['分数'] = df['分数'].astype(float)
# 可视化
c = (
Bar()
.add_xaxis(df['大学名称'])
.add_yaxis("分数", df['分数'], is堆积=True)
.set_global_opts(title_opts=opts.TitleOpts(title='大学排行榜'), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-45)))
)
# 输出图表
c.render('大学排行榜.html')
```
3. **运行并查看结果**:
运行上述脚本后,会在当前目录下生成一个名为`大学排行榜.html`的文件,打开它就可以看到大学名称和分数的可视化柱状图。
阅读全文