我试图从文件中删除某些 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(使用前将#替换为@)