新手,从url中抓取表,无法在python命令提示符中获得输出



这是一项家庭作业,我必须总结span标签中的所有数据并打印它,我取出span标签中所有的信息并将其附加到列表中,我不知道如何超越这一点,因为我在for循环中键入的任何函数都不起作用,而且我必须在python命令提示符中运行后两次回车才能获得输出

我是新来的,请原谅问题的格式,感谢的帮助

import urllib.request, urllib.parse, urllib.error
lst = list()
from bs4 import BeautifulSoup
url = 'http://py4e-data.dr-chuck.net/comments_42.html'
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
spans = soup.findAll('span', attrs = {'class' : 'comments'})
for span in spans:
num = int(span.text)
lst.append(num)
print(num)

如果只是将它们添加在一起,则无需收集以列出或其他任何内容。你可以这样做:

import urllib.request, urllib.parse, urllib.error
lst = list()
from bs4 import BeautifulSoup
url = 'http://py4e-data.dr-chuck.net/comments_42.html'
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
spans = soup.findAll('span', attrs = {'class' : 'comments'})
sum = 0
for span in spans:
sum += int(span.text)
print("Total Sum = " + str(sum))

在span中准备好数字列表后,您可以使用python中的sum()函数获得数字的总和。将您的列表作为sum()的参数传递。

import urllib.request, urllib.parse, urllib.error
lst = list()
from bs4 import BeautifulSoup
url = 'http://py4e-data.dr-chuck.net/comments_42.html'
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
spans = soup.findAll('span', attrs = {'class' : 'comments'})
for span in spans:
num = int(span.text)
lst.append(num)
print(num)
sum_of_nums = sum(lst)
print(sum_of_nums)

最新更新