python lxml库_Python-数据解析-lxml库-上

lxml 使用 Python 语言编写的库,主要用于解析和提取 HTML 或者 XML 格式的数据。from lxml import etree

lxml 库的一些相关类:Element 类:XML 的节点。

ElementTree 类:一个完整的 XML 文档树。

ElementPath 类:用于搜索和定位节点。

一、Element 类

创建一个节点对象,则可以通过构造函数直接创建。root = etree.Element("root")

例子中,参数 root 表示节点的名称。

Element 类的相关操作,主要可分为三部分,分别是节点操作、节点属性的操作、节点内文本的操作。

① 节点操作:

要获取节点的名称,可以通过 tag 属性获取。print(root.tag)

② 节点属性的操作:

在创建节点的同时,可以为节点增加属性。节点中的属性是以 key-value 的形式进行存储,类似于字典的存储方式。通过构造方法创建节点时,可以在该方法中以参数的形式设置属性,其中参数的名称表示属性的名称,参数的值表示为属性的值。# 创建 root 节点,并为其添加属性

root = etree.Element("root", interesting="totally")

print(etree.tostring(root))

可以通过 set() 方法给已有的节点添加属性。在调用该方法时可以传入两个参数,其中第一个参数表示属性的名称,第二个参数表示属性的值。# 在次给 root 节点添加 age 属性

root.set("age", "30")

print(etree.tostring(root))

tostring() 函数可以将元素序列化为 XML 树的编码字符串表示形式。

③ 节点内的操作:

可以通过 text、tail 属性或者 xpath() 方法来访问文本内容。# 创建 root 节点

root = etree.Element("root")

# 给 root 节点添加文本

root.text = "Hello, yutuan"

print(root.text)

print(etree.tostring(root))

二、从字符串或文件中解析 XML

将 XML 文件解析为树结构,etree 模块中提供了以下几个函数:fromsrting() 函数

从字符串中解析 XML 文档或片段,返回根节点。XML() 函数

从字符串常量中解析 XML 文档或片段,返回根节点。HTML() 函数

从字符串常量中解析 HTML 文档或片段,返回根节点。xml_data = "data"

# fromstring() 方法

root_one = etree.fromstring(xml_data)

print(root_one.tag)

print(etree.tostring(root_one))

# XML

root_two = etree.XML(xml_data)

print(root_two.tag)

print(etree.tostring(root_two))

# HTML() 方法,如果没有 和

标签,会自动补上

root_three = etree.HTML(xml_data)

print(root_three.tag)

print(etree.tostring(root_three))

还可以调用 parse() 函数从 XML文件中直接解析。html = etree.parse('./hello.html')

result = etree.tostring(html, pretty_print=True)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值