十分钟带你看遍世界大学排

大学,一直都是神圣的学习知识的殿堂,各个世界级名校都不断地为社会输送着人才,今天咱们就来盘一盘世界大学的排名状况。html

数据获取

咱们这里选取的就是上海交通大学的 ARWU 网站web

http://www.shanghairanking.com/ARWU2019.htmlapp

该网站包含了历年的大学分数以及排名状况。函数

经过分析页面能够发现,经过 pandas 的 read_html 函数来获取相关信息是最为方便的学习

table = pd.read_html(url)
college = table[0]
复制代码

同时咱们还发现,大学所对应的国家数据是图片,因此须要特殊处理下网站

def get_country_name(html):
    soup = BeautifulSoup(html,'lxml')
    countries = soup.select('td > a > img')
    lst = []
    for i in countries:
        src = i['src']
        pattern = re.compile('flag.*/(.*?).png')
        country = re.findall(pattern,src)[0]
        lst.append(country)
    return lst
复制代码

最后咱们把获得的数据进行下处理,去除掉不须要的字段,再增长年份字段等url

for i in range(20052020):
    print('year', i)
    url = 'http://www.shanghairanking.com/ARWU%s.html' % i
    html = requests.get(url).content
    table = pd.read_html(url)
    college = table[0]
    college.columns = ['world rank','university'2,3'score'5]
    college.drop([2,3,5],axis = 1,inplace = True)
    college['year'] = i
    college['index_rank'] = college.index
    college['index_rank'] = college['index_rank'].astype(int) + 1
    college['country'] = get_country(html)
    college.to_csv(r'College.csv', mode='a', encoding='utf_8_sig', header=True, index=0)
复制代码

这样,咱们就获得了 College.csv 文件spa

下面咱们就能够作一些简单的分析了。3d

数据分析

世界大学排行

能够看到,哈佛最为世界第一的名校,其综合评分为100分,接下来就是斯坦福和剑桥大学,不过综合评分的差距仍是蛮大的。code

同时在前十名学府中,美国独占8席,英国占据2席,确实牛的不行。

top100 国家占比

下面咱们再来看看在 top100 大学中,各个国家所占的比例

能够清晰的看出,美国做为当今惟一的超级大国,其顶尖学府基本占据了世界通常的水平,能够说强大的人才造就能力使其强大的科研能力的坚强后盾!

而英国和澳大利亚紧随其后,可是却远远不能比拟。

中国大学排行

中国有4所高校挤进了世界100强,分别是清华、北大、浙江和上海交通大学,能够说它们是中国最好的大学,也同时肩负着振兴中华,输出人才的重大任务。

最后,还能够移步这里查看动态排行视频

动态视频

相关文章
相关标签/搜索