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