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)

你可能感兴趣的:(python中xpath的用法)