python中xpath的用法_浅谈python中的xpath用法

由于XPath属于lxml库模块,所以首先要安装库lxml,可以在命令提示符页面输入pip install lxml

xpath 是查询语言,可以在XML文档中查找信息的语言。主要用于在XML文档中通过元素和属性进行导航来查询。

xpath的调用方法:

from lxml import etree

index_db = """

wuliao

first_people

hello world

sencond class

first_div_element

fourth

meishijie

"""

code=etree.HTML(index_db)

print(code)

注意,这里的code输出的是一个节点。

result = etree.tostring(code)

print(result)

etree.tostring则可以补全全部的标签。

xpath的使用基本语法:

1.// 从根节点开始,查找对象是全文。

2./  从当前标签的路径开始查找

3.text()获取当前路径下的文本

4.@+类名或者id名 查找类名或者id的名字

5.  .一个点表示当前节点

(1)获取某个标签的内容

a = code.xpath('//a')

print(a)

for x in a :

print(x.text)

输出结果:

[, , , ]

百度

游戏

youxi

meishijie

a 标签输出的是节点。

(2)根据标签属性来查找指定的标签,获取指定标签的属性

result = code.xpath('//a/@class')

print(result)

result = code.xpath('//a/@id')

print(result)

result = code.xpath('//a/@href')

print(result)

(3)找指定的文本内容

result = code.xpath('//a//text()')

print(result)

注意:/text()是只找div标签中的文本,如果div中还有别的子标签,也有文本的话,是不找的。

result = code.xpath('//div/text()')

print(result)

//text()可以找到本标签以及所有子标签的文本

result = code.xpath('//div//text()')

print(result)

(4)获取指定id名字的标签的文本

result = code.xpath('//ul/li/a[@id="yx"]/text()')

print(result)

(5)获取指定类名的文本

result = code.xpath('//a[@class="shopping"]/text()')

print(result)

(6)contains包含指定属性

result = code.xpath('//div[@class="now"]/p[contains(@class,"third")]/text()')

print(result)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值