题目描述
爬取这个网站的中国大学排名数据
题目来源及自己的思路
于看视频时打出的代码
相关代码
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,url):
soup=BeautifulSoup(url,"html.parser")
for tr in soup.find('tbody').children:
if isinstance(tr,bs4.element.Tag):
tds=tr('td')
ulist.append([tds[0].string,tds[1].string,tds[3].string])
def printUnivList(ulist,num):
print("{:^10}{:^6}{:^10}".format("排名","学校名称","总分"))
for i in range(num):
u=ulist[i]
print("{:^10}{:^6}{:^10}".format(u[0],u[1],u[2]))
def main():
uinfo=[]
url='https://www.shanghairanking.c...'
html=getHTMLText(url)
fillUnivList(uinfo,html)
printUnivList(uinfo,20)
main()
你期待的结果是什么?实际看到的错误信息又是什么?### 问题描述
爬取出数据,结果老是报TypeError: unsupported format string passed to Tag.__format__错误
问题出现的环境背景及自己尝试过哪些方法
大概是网页html代码格式发生变化,但我不太清楚如何修改
相关代码
粘贴代码文本(请勿用截图)
你期待的结果是什么?实际看到的错误信息又是什么?
题目来源及自己的思路
相关代码
粘贴代码文本(请勿用截图)
你期待的结果是什么?实际看到的错误信息又是什么?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…