首页 > 解决方案 > 将字符串与列表元素连接仅返回最后一个元素

问题描述

我正在使用 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)打印完美。我似乎无法找出问题的根源。有什么建议吗?

标签: pythonfor-loopbeautifulsoup

解决方案


确保此代码不在另一个循环中,这样“歌词”不会被重置为“”。这会导致您描述的症状(在 if 语句中打印出来很好,但“歌词”只包含最后一个变量)。


推荐阅读