zoukankan      html  css  js  c++  java
  • 数据分析——医科大学排名

    经过之前的慕课内容和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()

    最后效果如上图。

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

  • 相关阅读:
    Django2.1发布,Django2.1新特性
    解决tomcat启动慢问题
    ELKstack简介及环境部署
    Django项目中使用celery做异步任务
    vue moment库格式化处理后端传的日期
    vueAdmin ui基础包
    DRF项目工程基础包
    linux文件系统命令和分区 挂载
    linux解压缩基本命令使用
    vim基本操作
  • 原文地址:https://www.cnblogs.com/Wsy3328/p/12862897.html
Copyright © 2011-2022 走看看