码迷,mamicode.com
首页 > 其他好文 > 详细

中国大学排名爬虫

时间:2020-05-11 01:35:12      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:exce   request   code   status   data-   das   上海   end   ali   

1.这方面的知识掌握不是很熟练,根据教员讲解和课本,试着模仿着做了中国大学排名爬虫

2.代码如下

import request
from bs4 import BeautifulSoup
allUniv=[]
def getHTMLText(url):
try:
r=request.get(url,timeout=30)
r.raise_for_status()
r.encoding = ‘utf-8‘
return r.txt
except:
return ‘ERROR‘
def fillUnivList(soup):
data = soup.find_all(‘tr‘)
for tr in data:
ltd = tr.data_all(‘td‘)
if len(ltd)==0:
continue
singleUniv=[]
for td in ltd:
singleUniv.append(td.string)
allUniv.append(singleUnive)
def printUnivList(num):
print("{:^4}{:^10}{:^5}{:^8}{:^10}".format("排名","学校名称","省市","总分","培养规模"))
for i in range(num):
u=allUniv[i]
print("{:^4}{:^10}{:^5}{:^8}{:^10}".format(u[0],u[1],u[2],u[3],u[6]))
def main(num):
url=‘http://www.zuihaodaxue.cn/\
zuihaodaxuepaiming2019.html‘
html = getHTMLText(url)
soup = BeautifulSoup(html,"html.parser")
fillUnivList(soup)
printUnivList(num)
main(10)

3.结果

       排名    学校名称                        省市          总分      培养规模   

1
清华大学
北京市 95.9
2
北京大学
北京市 82.6
3
浙江大学
浙江省 80
4
上海交通大学
上海市 78.7
5
复旦大学
上海市 70.9
6
南京大学
江苏省 66.1
7
中国科学技术大学
安徽省 65.5
8
哈尔滨工业大学
黑龙江省 63.5
9
华中科技大学
湖北省 62.9
10
中山大学
广东省 62.1
4.开始用python生成图像
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams[‘font.sans-serif‘]=[‘SimHei‘]
plt.rcParams[‘axes.unicode_minus‘]=False
df=pd.read_excel(‘‘1")
x=df[‘学校名称‘]
y=df[‘总分‘]
plt.bar(x,y,label=‘分数‘)
plt.xlabel(‘学校‘)
plt.ylabel(‘分数‘)
plt.legend()
plt.show()
 

 

中国大学排名爬虫

标签:exce   request   code   status   data-   das   上海   end   ali   

原文地址:https://www.cnblogs.com/Niuyiming7/p/12866305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!