第4章 解析库的使用---Xpath

本文介绍了如何利用lxml解析库中的XPath语法来选取XML文档中特定的节点,例如选取lang属性值为'eng'的title节点。
摘要由CSDN通过智能技术生成

lxml、Beautiful Soup、pyquery三个解析库

1、使用XPath

XML Path Language,XML路径语言。

举例://title[@lang='eng'],选择所有名称为title,属性lang的值为eng的节点。

from lxml import etree
# 导入lxml库中的etree模块

html=etree.HTML(text)
# 调用HTML类进行初始构造XPath解析对象html
# 对于HTML文本中的不闭合节点,etree模块可自动修正HTML文本

result=etree.tostring(html)
# 输出修正后的HTML代码,结果为bytes类型

print(result.decoding('utf-8'))
# 将bytes类型转换为str类型

# 所有节点,xpath匹配以//开头
html=etree.parse('./test.html',etree.HTMLParse())
# ./test.html表示该文件夹下的test.html文件

result=html.xpath('//*')
# *代表匹配所有节点,整个html文本中所有节点都会被获取

result=html.xpath('//li')
# 匹配所有li节点,第一个节点索引为0

# 通过/或// 查找元素的子节点或者子孙节点
result
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值