xpath专门用来解析xml数据的工具
xml数据 - 一种普通的数据格式
Python 基于xpath做数据解析工具:lxml
是以标签为单位的,通过标签属性和标签内容来提供数据
不同的编程语言的程序如果想要进行数据交流,数据传输之前必须换成通用的数据格式(常用的有两种:json、xml)
xpath解析数据的原理:通过提供你需要的标签在整个网页(xml)中的路劲,来找到对应的标签,进一步获取标签内容标签属性
Python基于xpath做数据解析的工具:lxml第三方库
xpath 语法
基于HTML数据或xml对应的树获取根节点
etree.HTML(网页源代码)或者etree.xml(xml数据)
f = open('files/超市.xml', encoding='utf-8')
root = etree.XML(f.read())
f.close()
基于节点通过苦尽获取标签
节点对象.xpath(路劲) -根据路劲获取对应的标签,返回值是一个列表,列表中的元素是对应的标签对象
路劲写法有:1.绝对路劲 ,2.相对路劲, 3.任意路劲
注意:绝对路劲和相对路劲,在写路劲和获取标签的时候跟xpath前面是哪个标签没有关系
获取标签内容和标签属性:获取标签内容,获取标签的路劲/text()
获取标签的属性值:获取标签的路劲/@属性名
谓语(条件)
谓语的写法:[谓语]
位置相关谓语
[N] - 第N个标签
[last()] - 获取最后一个标签
属性相关谓语
[@属性名=值] - 获取指定属性为指定值的标签
[@属性名] - 获取拥有指定属性的标签
子标签内容相关谓语
[子标签名>值]、[子标签名>=值]、[子标签名<值]、[子标签名<=值]、[子标签名=值]
分支:路劲1|路劲2 - 先通过路劲1获取标签,如果获取不到在通过路劲2获取
通配符 - *
xpanth中可以用*来表示任意标签和任意属性