Scraping Numbers from HTML using BeautifulSoup

Scraping Numbers from HTML using BeautifulSoup, python代码哪里错了??是只sum了最后一行吗 救命啊!
问题相关代码,请勿粘贴截图:

import re
import urllib.request, urllib.parse, urllib.error
from bs4 import BeautifulSoup
import ssl
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

url = input('Enter - ')
html = urllib.request.urlopen(url, context=ctx).read()
soup = BeautifulSoup(html, "html.parser")

tags = soup('span')
#lis = list ()
nums = list()
sums = 0
for tag in tags:
#y=str(tag)
#lis.append(y)
#print (lis)
nums = re.findall('[0-9]+',str(tag))
#nums.append(num)
for num in nums:
#y = ''.join(nums)
#num = int(num)
sums = sums +int(num)
#numbers = [ int(x) for x in nums ]
print (sums)

运行结果及报错内容 ,代码运行结果结果是2

img

我想要达到的结果:(Sum ends with 28)

img

需要改一下,还有一个点就是你的nums每次tags这个for循环里,都重新赋值了一次,所以你获得的是2,你可以看下你输入的那个网站,最后一个行的值刚好是2,还有你发的这个网页的最终结果应该是2553,你input写错网址了:

sums = 0
for tag in tags:
    k = float(tag.contents[0])
    sums += k
print(sums)

img

你这代理是在字符串中提取数字字符串,你得到的是字符串格式的数字字符串。
字符串数字的列表不能用sum进行求和,
要么使用map进行转换:nums = map(int,nums )
要么就在添加到列表前进行转换,append(int(**))

img