答案:import requestsFrom bs4 import BeautifulSoupImport bs4Def getHTMLTexu(url): try: r = requests.get(url, timeout = 30) r.raise_for_status()#判断状态是否正常 r.encoding = r.apparent_encoding#修改编码方式,以防不能识别中文 return r.text except: return ("抛出异常")Def fillUnivList(demo,ulist): soup = BeautifulSoup(demo,"html.parser") for tr in soup.find("tbody").children: if isinstance(tr,bs4.element.Tag):#判断对象的类型 tds = tr('td')#放入td(排名,省份,总分,综合),列表类型 a = tr('a')#放入a(名字),列表类型 ulist.append(tds0].text.strip(),a0].string.strip(),tds4].text.strip()]) #strip删除首尾符号,使内容工整Def printUnivList(ulist,num): t = '{0:^10}\t{1:{3}^12}\t^{2:^10}'#标题格式 print(t.format('排名','学校名称','总分',chr(12288)))#输出方式美观,制表符 for i in range(num): u = ulisti] print(t.format(u0],u1],u2],chr(12288)))#保持和标题格式相同,输出信息 print("共有记录"+str(num)+"条")Def main(): url = 'https://shanghairanking.cn/rankings/bcur/2022' demo = getHTMLTexu(url) ulist = ] num = 30 fillUnivList(demo,ulist) printUnivList(ulist,num)Main()