xpath学习笔记

随看随记录

xpath基本语法表
nodename选取此节点的所有子节点,nodename是tag名
/从根节点选取,/
//从文档中选取匹配当前节点的节点,而不考虑它们的位置
.选取当前节点
选取当前节点的父节点
@选取属性
@*选取所有属性
[@attrib]选取具有指定属性的所有元素
[@attrib=‘value’]选取指定属性有value的所有元素
[tag]选取具有指定元素的直接子节点
[tag=‘text’]选取所有具有指定元素并且文本内容是text的节点
谓语表
/bookstore/book[1]选取属于bookstore子元素的第一个book元素
/bookstore/book[last()]选取属于bookstore子元素的最后一个book元素
/bookstore/book[last()-1]选取属于bookstore子元素的倒数第二个book元素
/bookstore/book[position()< 3]选取最前面的2个属性bookstore元素的子元素的book元素
//title[@lang]选取所有带有lang属性的title元素,方括号是选择条件
//title[@lang=‘eng’]选取所有带有lang属性兵器lang属性是eng的title元素,方括号是选择条件
/bookstore/book[price>35.00]选取bookstore元素中所有price大于35的book元素
/bookstore/book[price>35.00]/title选取bookstore元素中所有price大于35的book元素的中的title元素
例子:
result = html.xpath("//li/@class")获取标签li里面的属性是class的对应的内容,返回的是列表,可以用索引输出,不需要etree.tostring()方法
result = html.xpath(’//li/a[@href=“link1.html”]’)获取标签li下面a标签并且href=link1.html的a标签 返回的是列表可以用索引在etree.tostring(result[索引])输出内容
result = html.xpath("//li//span")获取li标签下所有span标签 ,返回的是列表,可以用所用在etree.tostring(result[索引])输出内容,索引是单个数,不可以用区间
result = html.xpath("//li/a//@class")获取li标签下的a标签下的所有class属性,不包括li标签内的class属性,返回的是列表,索引输出
result = html.xpath("//li[last()]/a/@href")获取最后一个li标签下a标签的href,返回的是列表,索引可以输出
result = html.xpath("//li[last()-1]/a")获取倒数第二个li标签下子元素a的标签内容,返回的是列表,etree.tostring(result[索引号]输出
result = html.xpath("//*[@class=‘bold’]")获取html中class属性为bold的标签,返回的是列表,etree.tostring(result[索引号]输出
以上列表都可以for输出
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值