【python】爬取中国大学排名

以下代码为爬取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()

猜你喜欢

转载自www.cnblogs.com/litchi666/p/12897609.html