编程语言
首页 > 编程语言> > python – 使用html5lib或bleach删除…标签的内容

python – 使用html5lib或bleach删除…标签的内容

作者:互联网

我一直在使用优秀的bleach库来删除错误的HTML.

我有一堆HTML文档已经从Microsoft Word粘贴,包含以下内容:

<STYLE> st1:*{behavior:url(#ieooui) } </STYLE>

使用漂白(隐式禁止使用样式标签),让我:

st1:*{behavior:url(#ieooui) }

哪个没用. Bleach似乎只有以下选项:

>逃生标签;
>删除标签(但不删除其内容).

我正在寻找第三种选择 – 删除标签及其内容.

有没有办法使用漂白或html5lib来完全删除样式标记及其内容? documentation for html5lib并没有真正的帮助.

解决方法:

事实证明,lxml是完成此任务的更好工具:

from lxml.html.clean import Cleaner

def clean_word_text(text):
    # The only thing I need Cleaner for is to clear out the contents of
    # <style>...</style> tags
    cleaner = Cleaner(style=True)
    return cleaner.clean_html(text)

标签:python,django,html5lib
来源: https://codeday.me/bug/20190902/1794330.html