Python lxml:clean_html用div替换html标记?
我正在使用lxml 3.1.0(随easy_install一起安装),看到了奇怪的结果:Python lxml:clean_html用div替换html标记?,python,lxml,libxml2,Python,Lxml,Libxml2,我正在使用lxml 3.1.0(随easy_install一起安装),看到了奇怪的结果: > from lxml.html.clean import clean_html > clean_html("<html><body><h1>hi</h1></body></html>") '<div><body><h1>hi</h1></body></div
> from lxml.html.clean import clean_html
> clean_html("<html><body><h1>hi</h1></body></html>")
'<div><body><h1>hi</h1></body></div>'
>从lxml.html.clean导入clean\u html
>清除html(“hi”)
“嗨”
html
标记将替换为div
根据的示例html也会发生同样的情况
有什么好处?我是否遇到了lxml的错误,或者与libxml2的版本不兼容,或者这是意料之中的吗?如果
页面结构=True
,则页面的结构部分(如
、
和
)将被删除,这是默认设置。要更改此设置,请执行以下操作:
import lxml.html.clean as clean
content = '<html><body><h1>hi</h1></body></html>'
cleaner = clean.Cleaner(page_structure=False)
cleaned = cleaner.clean_html(content)
print(cleaned)
# <html><body><h1>hi</h1></body></html>
我想你需要一个
清洁剂
,它可以让页面结构保持独立:
>>> from lxml.html.clean import Cleaner
>>> cleaner = Cleaner(page_structure=False)
>>> cleaner.clean_html("<html><body><h1>hi</h1></body></html>")
'<html><body><h1>hi</h1></body></html>'
来自lxml.html.clean导入清理器的>>
>>>cleaner=cleaner(页面结构=False)
>>>cleaner.clean_html(“hi”)
“嗨”
如上所述,默认情况下,page\u结构
为True
。我怀疑您提供的站点文档不正确或过时
编辑#1:可以在源代码的测试中找到这是预期行为的另一个确认。已提交一份文件以更正文件
编辑#2:自2013年4月28日起,已将合并到主文件中 不,我不认为这是预期的行为。。。你能发布一个更大的*代码片段吗?
>>> from lxml.html.clean import Cleaner
>>> cleaner = Cleaner(page_structure=False)
>>> cleaner.clean_html("<html><body><h1>hi</h1></body></html>")
'<html><body><h1>hi</h1></body></html>'