如何使用Cleaner,lxml.html而不返回div标签?

All*_*oso 11 python lxml.html

我有这个代码:

evil = "<script>malignus script</script><b>bold text</b><i>italic text</i>"
cleaner = Cleaner(remove_unknown_tags=False, allow_tags=['p', 'br', 'b'],
                  page_structure=True)
print cleaner.clean_html(evil)
Run Code Online (Sandbox Code Playgroud)

我希望得到这个:

<b>bold text</b>italic text
Run Code Online (Sandbox Code Playgroud)

但相反,我得到了这个:

<div><b>bold text</b>italic text</div>
Run Code Online (Sandbox Code Playgroud)

是否有删除div标记包装的属性?

Hug*_*ell 13

lxml期望你的html有一个树结构,即一个根节点.如果没有,则添加它.

  • `&lt;div&gt;` 标签可以通过获取返回字符串的一部分轻松删除:`cleanedText[5:-6]` (2认同)