如何用python的lxml删除html注释?

时间:2017-01-07 05:42:26

标签: python lxml

我有一大堆html文档,我还需要删除某些html元素和html注释。

我已使用strip_elements()删除特定的html元素。是否可以用于删除<!---->中包含的 html评论,还是应该使用其他方法?

示例:

<div class=\"detail_text\" id=\"detikdetailtext\">\n\t\t\t<!-- s:pic detail -->\n\t\t\t<!-- S:read image orientation if potrait load this -->\n\t\t\t\t\t\t<!-- E:read image orientation if potrait load this -->\n\t\t\t<!-- e:pic detail -->\n\n\t\t\t<b>Jakarta<\/b> - Fraksi Golkar setuju dengan inisiasi Fraksi PDIP yang menginginkan revisi UU MD3 terkait formasi pimpinan DPR. Golkar pun mengusulkan agar ada penambahan kursi pimpinan.<br>

1 个答案:

答案 0 :(得分:0)

我建议使用正则表达式,有一种模式可用于匹配所有评论。

import re
html = '''<div class=\"detail_text\" id=\"detikdetailtext\">\n\t\t\t<!-- s:pic detail -->\n\t\t\t<!-- S:read image orientation if potrait load this -->\n\t\t\t\t\t\t<!-- E:read image orientation if potrait load this -->\n\t\t\t<!-- e:pic detail -->\n\n\t\t\t<b>Jakarta<\/b> - Fraksi Golkar setuju dengan inisiasi Fraksi PDIP yang menginginkan revisi UU MD3 terkait formasi pimpinan DPR. Golkar pun mengusulkan agar ada penambahan kursi pimpinan.<br>'''
re.sub(r'<!--.+?-->', '', html)

出:

'<div class="detail_text" id="detikdetailtext">\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\n\n\t\t\t<b>Jakarta<\\/b> - Fraksi Golkar setuju dengan inisiasi Fraksi PDIP yang menginginkan revisi UU MD3 terkait formasi pimpinan DPR. Golkar pun mengusulkan agar ada penambahan kursi pimpinan.<br>'