【发布时间】:2017-08-13 10:57:11
【问题描述】:
例子:
html = <a><b>Text</b>Text2</a>
美人汤代码
[x.extract() for x in html.findAll(.//b)]
在出口我们有:
html = <a>Text2</a>
Lxml代码:
[bad.getparent().remove(bad) for bad in html.xpath(".//b")]
在出口我们有:
html = <a></a>
因为 lxml 认为“Text2”是<b></b> 的尾巴
如果我们只需要标签连接中的文本行,我们可以使用:
for bad in raw.xpath(xpath_search):
bad.text = ''
但是,如何在不更改文本的情况下删除没有尾部的标签?
【问题讨论】:
-
不确定我是否正确理解了您的问题,但也许drop_tag 可能会有所帮助?
标签: python beautifulsoup html-parsing lxml