以下代码为爬取2015年中国大学排名及年费
1 import requests
2 from bs4 import BeautifulSoup
3 allUniv = []
4 def getHTMLText(url):
5 try:
6 r = requests.get(url, timeout=30)
7 r.raise_for_status()
8 r.encoding = 'utf-8'
9 return r.text
10 except:
11 return ""
12 def fillUnivList(soup):
13 data = soup.find_all('tr')
14 for tr in data:
15 ltd = tr.find_all('td')
16 if len(ltd)==0:
17 continue
18 singleUniv = []
19 for td in ltd:
20 singleUniv.append(td.string)
21 allUniv.append(singleUniv)
22 def printUnivList(num):
23 print("{1:^2}{2:{0}^10}{3:{0}^6}{4:{0}^4}{5:{0}^10}".format(chr(12288),"排名","学校名称","省市","总分","年费"))
24 for i in range(num):
25 u=allUniv[i]
26 print("{1:^4}{2:{0}^10}{3:{0}^5}{4:{0}^8.1f}{5:{0}^11}".format(chr(12288),u[0],u[1],u[2],eval(u[3]),u[4]))
27 def main():
28 url = 'http://www.zuihaodaxue.com/zuihaodaxuepaiming2015_3.html'
29 html = getHTMLText(url)
30 soup = BeautifulSoup(html, "html.parser")
31 fillUnivList(soup)
32 printUnivList(10)
33 main()
![]()