python - 将字符串与列表元素连接仅返回最后一个元素
问题描述
我正在使用 BeutifulSoup 从 html 文件中提取某些数据,当我应用以下代码获得最终结果时,即标签子列表的所有元素的串联,我只得到了歌词中的最后一个元素多变的。
lyrics = ""
for content in songResult.children:
if "br" in str(content):
continue
lyrics += str(content)
print(lyrics)
孩子要么是 br 标签,要么是 songResult 标签内的文本。我忽略了 br 标签并尝试使用print(content)
而不是lyrics += str(content)
打印完美。我似乎无法找出问题的根源。有什么建议吗?
解决方案
确保此代码不在另一个循环中,这样“歌词”不会被重置为“”。这会导致您描述的症状(在 if 语句中打印出来很好,但“歌词”只包含最后一个变量)。
推荐阅读
- python - 从保存的 HTML 文件返回日期 *如果*日期存在
- spring-boot - 根据 Camunda 中的产品属性进行动态用户任务分配
- xml - 使用 XSLT 将 XML 转换为 CSV,用于在单个标记中以空格分隔的多个记录
- java - 我们可以使用 Spring-data-elasticsearch 获取现有文档的元数据“_version”吗?
- javascript - 如何动态地将输入元素放入我的表单中,而不是使用按钮触发冗余添加?
- swiftui - 隐藏 SwiftUI DisclosureGroup 箭头并删除默认填充
- amazon-web-services - AWS Cognito 中用于后端应用程序的“服务账户”用户
- node.js - User.find({}) 未在 Node.js 中正确返回控制台
- powerpoint - 如何将自定义数据添加到 OOXML for powerpoint?
- reactjs - useEffect 进入无限循环