xpath获取标签的属性值_学爬虫利器Xpath,看这一篇就够了(建议收藏)

上一篇文章主要给大家介绍了Xpath的基础知识,大家看完之后有没有收获呢?按照计划,今天就结合示例给大家介绍如何使用Xpath?

1.获取所有节点

我们一般会用「//」开头的Xpath规则来选取所有符合要求的节点。以下面的HTML文本为例,如果要选取所有节点,可以这样实现:

<

运行结果如下:

[, , , , , , , , , , , , , ]

这里使用*代表匹配所有节点,也就是整个HTML文本的所有节点都会被获取。可以看到,返回形式是一个列表,每个元素是Elment类型,其后跟了节点的名称,如html、body、div、ul、li、a等,所有节点都包含在列表中了。

如果想获取指定节点名称,例如li节点,操作如下:

from lxml import etree

html = etree.parse('./test.html',etree.HTMLParser())
result = html.xpath('//li')
print(result)
print(result[0])
 

这里要选取li节点,可以使用//,然后直接加上节点名称即可,调用时直接使用xpath()方法即可。

运行结果如下:

[, , , , ]

我们可以看到提取结果是一个列表形式,其中每个元素都是一个Elment对象。如果要取出其中一个对象,可以直接用中括号加索引,如[0]。

2.获取子节点

我们通过/或//即可查找元素的子节点或子孙节点。假如现在想选择li节点的所有直接a子节点,可以这样实现:

from lxml import etree

html = etree.parse('./test.html',etree.HTMLParser())
result = html.xpath('//li/a')
print

你可能感兴趣的:(xpath获取标签的属性值)