目录
3.1.1 最初设计方案:采用request+BeautifulSoup 方式
3.1.2 更改后的设计方案:采用request直接获取json格式的html信息。
代码如下:
最后遍历将将内容存储到ulist列表中。
3.利用数据结构将结果储存到文件之中WriteToFile(),利用DataFrame存储为.xlsx文件
- import pandas as pd
- from matplotlib import pyplot as plt
- import numpy as np
-
- # (2)分析每个地区上榜大学的数量,保存在文件中。
-
- ranking = pd.read_excel('E:\\学习\\代码\\Python_homework\\期末课程设计\\experiment2\\ranking.xlsx')
-
- r_group = ranking.groupby(['省市'])
-
- r = r_group.size().reset_index()
- new_col = ['province', 'count']
- r.columns = new_col
- # print(r)
-
- df = r.sort_values(by='count', ascending=False)
- df.to_excel('E:\\学习\\代码\\Python_homework\\期末课程设计\\experiment2\\regionalRanking.xlsx')
- # (3)分析前十名的地区的大学数量,绘制柱状图。
-
- df1 = pd.read_excel('E:\\学习\\代码\\Python_homework\\期末课程设计\\experiment2\\regionalRanking.xlsx')
-
- # 正确显示中文和负号
- plt.rcParams['font.sans-serif'] = ['SimHei']
- plt.rcParams['axes.unicode_minus'] = False
-
- # 设置x和y轴的值
- x = df1['province'][0:10]
- y = df1['count'][0:10]
- # 绘制柱状图
- p = plt.bar(x, y)
- # 设置标签值
- plt.bar_label(p, label_type='edge')
- # 标题名
- plt.title('上榜大学排名前十的省份')
- # x轴标签名
- plt.xlabel('省份')
- # y轴标签名
- plt.ylabel('数量')
- # 显示柱状图
- plt.show()
由得出的柱状图可以得出,高校数量排行前十名的省份,其中绝大多数是人口和经济大省,除了北京作为我国的首都,但是他是我国的政治和文化中心,这就很正常了。