Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.8k views
in Technique[技术] by (71.8m points)

我是Python网络爬虫的初学者,学到爬取一个看中国大学排名网站的数据时出了问题,能帮我看下吗,谢谢

题目描述

爬取这个网站的中国大学排名数据

题目来源及自己的思路

于看视频时打出的代码

相关代码

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代码格式发生变化,但我不太清楚如何修改

相关代码

粘贴代码文本(请勿用截图)

你期待的结果是什么?实际看到的错误信息又是什么?

题目来源及自己的思路

相关代码

粘贴代码文本(请勿用截图)

你期待的结果是什么?实际看到的错误信息又是什么?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...