我有一些HTML代码,其中有很多我想删除的行看起来像这样
现在还有span标签,它们之间有文本,我想保留.
我想使用python re.sub函数删除那些无用的span标签.我写了这个,但它没有用
html_code_filtered = re.sub('', '', html_code)
我想我在正则表达式上缺少一些东西以正确匹配线条?
您可以使用HTML Parser BeautifulSoup
来删除span
没有文本的元素.
工作范例:
from bs4 import BeautifulSoup data = """useful text""" soup = BeautifulSoup(data, "html.parser") # find and remove "span" elements with empty contents for useless in soup.find_all("span", text=lambda text: not text): useless.extract() print(soup.prettify())
打印(如您所见span
,没有删除内容的元素):
useful text