看到结果真是伤心~~~~~。
import requests from bs4 import BeautifulSoup import bs4 def get_html(url): #获取网页内容 try: page=requests.get(url,timeout=30) page.status_code page.encoding=page.apparent_encoding #让编码统一 return page.text #返回文本形式 except: return 'error' def get_list(Ulist,html): soup=BeautifulSoup(html,'html.parser') #解析网页 for tr in soup.find('tbody').children: #查找tbody所有的子结点 if isinstance(tr,bs4.element.Tag): #判断是否是标签类型 tds=tr('td') #将tr里的所有td赋给tds Ulist.append([tds[0].string,tds[1].string,tds[2].string,tds[4].string]) #将td标签里的所有内容加到Ulist列表里 def print_list(Ulist,num): print("{0:^10}\t{1:{3}^10}\t{2:{5}^10}\t{4:^10}".format('排名','名称','地点',chr(12288),'学生质量',chr(12288))) #.format函数格式输出 for university in range(num): chr(12288)是中文空格的编码,这里使用中英文混排,使得排列整齐 r=Ulist[university] #print("{0:^10}\t{1:{3}^10}\t{2:^10}".format(r[0],r[1],r[2],chr(12288))) def Compaus_rank_search(Ulist,name): print("{0:^10}\t{1:{3}^10}\t{2:{5}^10}\t{4:^10}".format('排名', '名称', '地点', chr(12288), '学生质量', chr(12288))) # .format函数格式输出 for university in range(600): r = Ulist[university] if r[1] == name: print("{0:^10}\t{1:{3}^10}\t{2:{5}^10}\t{4:^10}".format(r[0], r[1], r[2], chr(12288), r[3], chr(12288))) def input_compaus_name(Ulist): while True: name=input("请输入学校名称:") Compaus_rank_search(Ulist,name) Uli=[] url='http://www.zuihaodaxue.cn/zuihaodaxuepaiming2018.html' html=get_html(url) get_list(Uli,html) input_compaus_name(Uli) #print_list(Uli,600) 很惨,好好学技术,我不想被温水煮了。