Python lxml,在输出HTML之前删除父元素(使用fragment_fromstring)

时间:2013-06-29 14:32:47

标签: python html-parsing lxml lxml.html

我正在使用lxml来解析一些HTML片段(来自RSS提要),为了有效地执行此操作,我使用了create_parent='div'。当我后来输出HTML时,我不希望包含父div,因为我的html布局最终会成为div中的div,完全不受欢迎。

现在的代码:

from lxml.html import fragment_fromstring

html = fragment_fromstring(html_string, create_parent = 'div')

for tag in html.xpath('//*[@class]'):
    tag.attrib.pop('class')
for tag in html.xpath('//*[@id]'):
    tag.attrib.pop('id')

return lxml.html.tostring(html)

TL; DR:如何在输出时删除包装div?

1 个答案:

答案 0 :(得分:2)

提取子元素。

return '\n'.join(lxml.html.tostring(x) for x in html.iterchildren())