|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
按照网上的教程做了一个爬取大学排名的例子,代码如下:
import requests
import bs4
def open(url):
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return''
def get(ulist,html):
soup=bs4.BeautifulSoup(html,'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[2].string])
def printnum(ulist,num):
print('{:^10}\t{:^6}\t{:^10}'.format('排名','学校','分数'))
for i in range(num):
u=ulist[i]
print('{:^10}\t{:^6}\t{:^10}'.format(u[0],u[1],u[2]))
def main():
univer=[]
url='http://www.zuihaodaxue.cn/shengyuanzhiliangpaiming2016.html'
html=open(url)
get(univer,html)
printnum(univer,20)
main()
报错为:
print('{:^10}\t{:^6}\t{:^10}'.format('排名','学校','分数'))
TypeError: print() missing 1 required positional argument: 'num',很困惑,希望能够得到大佬的解答。
我猜没有贴全代码,可能不小心重写了print函数?
|
|