删除 BeautifulSoup 分解后变空的行

2024-02-20

我试图从文件中删除某些 HTML 标签及其内容BeautifulSoup。如何删除应用后变为空的行decompose()?在这个例子中,我想要之间的线a and 3消失,因为这是<span>...</span>块了,但到底不行。

from bs4 import BeautifulSoup     

Rmd_data = 'a\n<span class="answer">\n2\n</span>\n3\n'
print(Rmd_data)

#OUTPUT
# a
# <span class="answer">
# 2
# </span>
# 3
# 
# END OUTPUT

soup = BeautifulSoup(Rmd_data, "html.parser")
answers = soup.find_all("span", "answer")
for a in answers:
    a.decompose()

Rmd_data = str(soup)
print(Rmd_data)

# OUTPUT
# a
#
# 3
# 
# END OUTPUT

我很惊讶 BeatifulSoup 没有提供 prettify() 选项。您可以重新解析 html,而不是手动操作 html:

str(BeautifulSoup(str(soup), 'html.parser'))

一如既往,享受。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除 BeautifulSoup 分解后变空的行 的相关文章

随机推荐