我想清理一下python3中的一些html,在那里我使用了一些span标记,用颜色标记插入的文本,并删除删除的文本。举个例子:
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore
magna aliquyam erat, sed diam voluptua. <span class="inserted">
Lorem ipsum</span> Lorem ipsum dolor sit amet, consetetur
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum.
<span class="strikethrough">Lorem ipsum</span> lorem
<span class="inserted">ipsum</span>. At vero eos et accusam et
justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
我要做的是删除span标记,保留类“inserted”的span标记之间的文本,并删除span标记“strikethrough”之间的文本。你知道吗
我发现这个可以去除标签,使文字保持在:
from html.parser import HTMLParser
class MLStripper(HTMLParser):
def __init__(self):
self.reset()
self.strict = False
self.convert_charrefs= True
self.fed = []
def handle_data(self, d):
self.fed.append(d)
def get_data(self):
return ''.join(self.fed)
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
但是如果span标记有一个特殊的类('strikethrough'),我想删除span标记之间的文本。你知道吗
我该怎么做?你知道吗
你几乎是对的。 您只需要使用^{} 和^{} 方法和一些变量来跟踪当前状态。你知道吗
这个怎么样:
结果是:
相关问题 更多 >
编程相关推荐