xpath判断特定属性值是否存在_关于解析库XPath学习

XPath是用于在XML或HTML文档中查找信息的强大工具。本文介绍XPath的常用规则,包括匹配所有节点、子节点、父节点、属性、文本和属性值,以及如何进行属性多值匹配和按序选择。并以Python的lxml库为例,展示如何在实战中应用XPath进行HTML解析。
摘要由CSDN通过智能技术生成

425b4f9779e769b54e38ecbe3445e3a7.png

XPath,全称XML Path Language,即XML路径语言,是一门在XML文档中查找信息的语言。 在做爬虫时,完全可以使用XPath来做相应的信息抽取。

XPath的选择功能十分强大,提供了非常简洁明了的路径选择表达式。它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等。几乎所有想要定位的节点,都可以用XPath来选择。

XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。

一、XPath常用规则

380983ad0705b68af37fbcf3f214e93a.png

示例如下:

//title[@lang='eng']

代表选择所有名称为title,且属性lang的值为eng的节点。后面会通过Python的lxml库,利用XPath进行HTML的解析。

注意:使用之前,首先要确保安装好lxml库。

1.所有节点
一般会用//开头的XPath规则来选取所有符合要求的节点。//* 匹配所有节点,整个HTML文本中的所有节点都会被获取。
如: test.html

76bf3a624be0db916b07759d048aab49.png
from lxml import etree    #首先导入lxml库的etree模块
html = etree.parse('./test.html', etree.HTMLParser())
result = html.xpath('//*') #*代表匹配所有节点,整个HTML文本中的所有节点都会被获取
print(result)   # 返回形式是一个列表

114efe40b0bea574cc78d3dbab898366.png

注意:每个元素是Element类型。

result = html.xpath('//li')
print(result)    #返回结果是列表形式
print(result[0])

bba6e9175faf21571a3c81f3a686973f.png

2.子节点
通过/或//即可查找元素的子节点或子孙节点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值