lxml中etree.HTML()和etree.tostring()用法
你好,我是悦创。etree.HTML(): 构造了一个 XPath 解析对象并对 HTML 文本进行自动修正。etree.tostring():输出修正后的结果,类型是 bytes可参考以下代码:from lxml import etreetext = '''<div><ul><li class="item-0"><a href="link1.html"&
你好,我是悦创。
etree.HTML(): 构造了一个 XPath 解析对象并对 HTML 文本进行自动修正。etree.tostring():输出修正后的结果,类型是 bytes
可参考以下代码:
from lxml import etree
text = '''
<div>
<ul>
<li class="item-0"><a href="link1.html">first item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-inactive"><a href="link3.html">third item</a></li>
<li class="item-1"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a>
</ul>
</div>
'''
html = etree.HTML(text)
result = etree.tostring(html)
print(result.decode('utf-8'))
这里首先导入 lxml 库的 etree 模块,然后声明了一段 HTML 文本,调用HTML 类进行初始化,这样就成功构造了一个 XPath 解析对象。这里需要注意的是,HTML 文本中的最后一个li节点是没有闭合的,但是 etree.HTML 模块可以自动修正 HTML 文本。
这里我们调用 tostring() 方法即可输出修正后的 HTML 代码,但是结果是bytes 类型。这里利用 decode() 方法将其转成 str 类型,结果如下:
<html><body><div>
<ul>
<li class="item-0"><a href="link1.html">first item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-inactive"><a href="link3.html">third item</a></li>
<li class="item-1"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a>
</li></ul>
</div>
</body></html>
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。QQ、微信在线,随时响应!V:Jiabcdefh

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)