python - 查找标签内容后出现问题,无法求和
问题描述
我正在尝试从 html 页面中提取标签内容并对内容(字符串)求和,这是我的代码
import urllib.request, urllib.parse, urllib.error
from bs4 import BeautifulSoup
url = input('Enter- ')
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
# Retrieve all of the span tags
tags = soup('span')
for tag in tags:
# Look at the parts of a tag
print('Sum of Contents:',sum(int(tag.contents[0])))
没有sum(int())
它正确返回值的字符串,但我试图将字符串更改为整数并将其求和。我假设我搞砸了一些非常基本的东西?
Contents: 97
Contents: 97
Contents: 90
Contents: 90
Contents: 88
Contents: 87
Contents: 87
Contents: 80
Contents: 79
Contents: 79
Contents: 78
Contents: 76
Contents: 76
Contents: 72
Contents: 72
Contents: 66
Contents: 66
Contents: 65
Contents: 65
Contents: 64
Contents: 61
Contents: 61
Contents: 59
Contents: 58
Contents: 57
Contents: 57
Contents: 54
Contents: 51
Contents: 49
Contents: 47
Contents: 40
Contents: 38
Contents: 37
Contents: 36
Contents: 36
Contents: 32
Contents: 25
Contents: 24
Contents: 22
Contents: 21
Contents: 19
Contents: 18
Contents: 18
Contents: 14
Contents: 12
Contents: 12
Contents: 9
Contents: 7
Contents: 3
Contents: 2
解决方案
尝试使用列表推导首先收集所有整数,然后将它们相加
summation = sum([int(tag.contents[0]) for tag in tags])
print('Sum of Contents:',summation)
如果您不想使用列表推导,可以使用
summation = []
for tag in tags:
summation.append(int(tag.contents[0]))
print('Sum of Contents:', sum(summation))
推荐阅读
- javascript - JS:如何在不不断发出请求的情况下更新来自端点的数量?
- python - 缺少 2 个口味和勺子所需的位置参数?
- .net - 拥有大量大型对象且您永远不想水合的实体 - 推荐的模式是什么?
- regex - 正则表达式搜索字符串的实例然后删除某些字符
- function - 函数有没有办法根据输入返回整数或字符串?
- android - 如何在工具栏中的 SearchView 中处理单击返回箭头
- javascript - 导航回屏幕时反应原生元素按钮组按钮消失
- reactjs - 有没有办法根据 keydown 事件以编程方式触发自动完成?
- graph - 如何在 Stata 中为多个时间段创建不同活动的“堆叠条形图”?
- python - 通过 RTSP 使用相机进行 YOLOv3 对象检测