day06lxml

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中可以用*来表示任意标签和任意属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值