标签: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 | 100.0 |
2 |
北京大学
|
北京市 | 82.6 | 98.9 |
3 |
浙江大学
|
浙江省 | 80 | 88.8 |
4 |
上海交通大学
|
上海市 | 78.7 | 90.6 |
5 |
复旦大学
|
上海市 | 70.9 | 90.4 |
6 |
南京大学
|
江苏省 | 66.1 | 90.7 |
7 |
中国科学技术大学
|
安徽省 | 65.5 | 90.1 |
8 |
哈尔滨工业大学
|
黑龙江省 | 63.5 | 80.9 |
9 |
华中科技大学
|
湖北省 | 62.9 | 83.5 |
10 |
中山大学
|
广东省 | 62.1 | 81.8 |
标签:exce request code status data- das 上海 end ali
原文地址:https://www.cnblogs.com/Niuyiming7/p/12866305.html