python之lxml库etree

Posted autofelix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之lxml库etree相关的知识,希望对你有一定的参考价值。

〝 古人学问遗无力,少壮功夫老始成 〞

python之lxml库etree,常码字不易,出精品更难,没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。你必须特别努力,才能显得毫不费力。如果这篇文章能给你带来一点帮助,希望给飞兔小哥哥一键三连,表示支持,谢谢各位小伙伴们。

目录

一、 创建标签

二、添加子标签

三、设置标签属性一

四、设置标签属性二

 五、设置标签文字

六、解析字符串

七、解析XML文档

八、解析HTML文档

九、解析文件或者类文件对象 


一、 创建标签

from lxml import etree

div = etree.Element('div')
print(div.tag) # div

二、添加子标签

from lxml import etree

div = etree.Element('div')

# 添加子元素
div.append(etree.Element('span'))
child2 = etree.SubElement(div, 'pr')
child3 = etree.SubElement(div, 'p')

# 查看现在的XML元素
print(etree.tostring(div, pretty_print=True))

# b'<div>\\n  <span/>\\n  <pr/>\\n  <p/>\\n</div>\\n'

三、设置标签属性一

from lxml import etree

# 设置属性方法一
div = etree.Element('div', name='autofelix')

print(etree.tostring(div)) # b'<div name="autofelix"/>'

#获取属性方法
print(div.get('name')) # autofelix

四、设置标签属性二

from lxml import etree

# 设置属性方法
div = etree.Element('div', name='autofelix')

# 设置属性方法二
div.set('name', 'autofelix')

# 获取属性方法二
print(div.attrib['name']) # autofelix

print(etree.tostring(div)) # b'<div name="autofelix"/>'

 五、设置标签文字

from lxml import etree

div = etree.Element('div')
div.text = 'autofelix'
print(div.text) # autofelix
print(etree.tostring(div)) # b'<div>autofelix</div>'

六、解析字符串

from lxml import etree

html = "<root>autofelix</root>"

root = etree.fromstring(html)
print(root.tag) # root
print(etree.tostring(root)) # b'<root>autofelix</root>'

七、解析XML文档

from lxml import etree

xml = etree.XML("<root>autofelix</root>")
print(xml.tag) # autofelix
print(etree.tostring(xml)) # b'<root>autofelix</root>'

八、解析HTML文档

from lxml import etree

html = "<root>autofelix</root>"

root = etree.HTML(html)
print(root.tag) # root
print(etree.tostring(root)) # b'<root>autofelix</root>'

九、解析文件或者类文件对象 

from lxml import etree
from io import BytesIO
flie_boject = BytesIO(b"<root>autofelix</root>")
tree = etree.parse(flie_boject)
print(etree.tostring(tree)) # b'<root>autofelix</root>'

以上是关于python之lxml库etree的主要内容,如果未能解决你的问题,请参考以下文章

python 3.6 lxml标准库lxml的安装及etree的使用注意

Python之xpathJsonPathbs4基本使用

Python 之lxml解析模块

Python Xpath:lxml.etree.XPathEvalError:无效谓词

在 lxml 中使用 etree 时出错

Python3.7 lxml引入etree