之前写过相对父元素及下一个兄弟元素的方法。
这次补充一下xpath相对节点位置查找元素的所有方法。例子就不举了,自己可以去练练。
xpath相对节点查找方法:
1、xpath('/ancestor::')
查找当前节点的所有先辈节点,即父节点或祖父节点
2、xpath('/ancestor-or-self::')
查找当前节点的所有先辈节点以及本身
3、xpath('/attribute::')
获取当前节点的所有属性
4、xpath('/child::')
查找当前节点的所有子节点
5、xpath('/descendant::')
获取当前节点的所有后代节点,即子节点、孙节点
6、xpath('/following::')
获取当前节点结束标签后的所有节点
7、xpath('/following-sibing::')
获取当前节点的下一个兄弟节点
8、xpath('/parent::')
获取当前节点的父节点
9、xpath('/preceding::')
获取当前节点开始标签前的所有节点
10、xpath('/preceding-sibing::')
获取当前节点的上一个兄弟节点
11、xpath('/self::')
选取当前节点
大概也就这么多,这些方法非常实用,特别是有些元素通过自己的属性无法查找到的时候就需要通过相对节点的位置来查找。
xPath 是一种html和xml的查询语言,能在其树状结构中寻找节点。
LXML安装:pip install lxml
——xPath使用-----------------------------------------------------------------------------------
获取文本:
//标签1[@属性1="属性值1"]/标签2[@属性2="属性值2"]//text()
获取属性值
//标签1[@属性1="属性值1"]/标签2[@属性2="属性值2"]//@属性n
eg:-------------------------------------------------------------------
from lxml import html
def parse():
"""将html文件中内容 使用xpath进行提取"""
#读取文件中的内容
f =open('/static/indexhtml', 'r', encoding='utf-8')
s = fread()
selector = htmlfromstring(s)
# 解析a 标签内容
a = selectorxpath('//div[@id="container"]/a/text()')
print(a[0])
# 解析href属性
alink = selectorxpath('//div[@id="container"]/a/@href')
print(alink[0])
fclose()
if __name__=='__main__':
parse()
以上就是关于通过xpath相对节点位置查找元素全部的内容,包括:通过xpath相对节点位置查找元素、xPath与html、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)