修改了2016年中国最好大学前20排名的代码,在printUnivList函数中添加了count计数器用来表示排名。
#Autor FPC认清形势抛弃幻想,人生苦短,我学python
#CrawUnivRanking2017.py
import requests
from bs4 import BeautifulSoup
import bs4
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return ""
def fillUnivList(ulist,html):
soup=BeautifulSoup(html,"html.parser")
for tr in soup.find('tbody').children:
if isinstance(tr,bs4.element.Tag):
tds=tr('td')
ulist.append([tds[1].string,tds[2].string,tds[3].string])
def printUnivList(ulist,num):
print("{:^1}\t{:^5}\t{:^18}\t{:^3}".format("排名","学校名称","省市","分数"))
count=0
for i in range(num):
u=ulist[i]
count+=1
print("{:<1}\t{:<12}\t{:<10}\t{:<10}".format(count,u[0],u[1],u[2]))
def main():
unifo=[]
url='http://www.zuihaodaxue.cn/zuihaodaxuepaiming2017.html'
html=getHTMLText(url)
fillUnivList(unifo,html)
printUnivList(unifo,20)
main()
本文介绍了如何使用Python修改2016年的代码,以爬取并打印2017年中国最好大学的前20名,包括排名、学校名称、所在省市及录取分数。通过添加count计数器实现排名显示。

被折叠的 条评论
为什么被折叠?



