数据分析——医科大学排名

经过之前的慕课内容和b站上的一些知识内容的学习,决定制作一个2019中国最好医科大学的数据分析。

 

之前试着爬过其他的网站...一些爬出来的排版真的是逼疯我了= =  还有另一些网站自己就是图表形式的数据展示...

找网站着实费了那么一丢丢时间...

于是我就换了最好大学网。

(这多好看!)

 

 

 

首先通过以前的爬虫知识利用requests库和BeautifulSoup库,有选择的爬取学校名称和总分。

 

 

得到x,y轴数据之后然后再利用matplotlib库制作条形图。

 

import requests
from bs4 import BeautifulSoup
import bs4
import matplotlib.pyplot as plt

url='http://www.zuihaodaxue.com/zuihaoyikedaxuepaiming2019.html'
ulist=[]
try:
    r=requests.get(url)
    r.raise_for_status()
    r.encoding=r.apparent_encoding
    message=r.text
except:
    print('Error!')
        
soup=BeautifulSoup(message,'html.parser')
for tr in soup.find('tbody').children:
    if isinstance(tr,bs4.element.Tag):
        tds=tr('td')
        ulist.append([tds[1].string,tds[3].string])
x=[]
y=[]
for i in range(15):
    x.append(ulist[i][0])
    y.append(ulist[i][1])
    
x.reverse()
y.reverse()
plt.barh(range(len(y)),y,tick_label=x,color='purple')
plt.rcParams['font.sans-serif'] = ['STKaiTi']
plt.rcParams['axes.unicode_minus'] = False
plt.title("中国最好医科大学排名2019")
plt.show()

 

最后效果如上图。

 

 

本人水平有限,如有不足之处请老师同学多多指点。

posted @ 2020-05-10 12:56  王书玉  阅读(238)  评论(0编辑  收藏  举报