xpath-基础
一.xpath语法
/
: 根节点开始查找
//
: 从任意节点开始找
.
: 当前节点
..
: 上一级节点
属性查找
//h2[@class="post-title"]
: 查找class属性为xxx的h2标签
//div[@itemprop='articleBody']
: 查找itemprop属性为articleBody的div标签
//h2[@class="post-title"]/a
: 查找class属性为post-title的h2标签,下面的所有a标签
获取标签的文本内容
(//h2[@class="post-title"]/a)[2]/text()
: 获取标签的文本内容(当前标签的文本,不包括子标签)
(//h2[@class="post-title"]/a)[2]//text()
: 获取标签的文本内容(包括子标签)
获取标签的属性值
//h2[@class="post-title"]/a/@href
: 获取标签的属性值
属性+位置查找标签
(//h2[@class="post-title"]/a)[2]
: 第二个a标签
last
(//h2[@class="post-title"]/a)[last()]
: …最后一个a标签
(//h2[@class="post-title"]/a)[last()-1]
: …倒数第二个a标签
position
(//h2[@class="post-title"]/a)[position()>3]
: 获取第三个往后的a标签
(//h2[@class="post-title"]/a)[position()>2][position()<5]
: 先从第三个开始找,再找4个标签。既获取第3-6个标签
contains 包含
//div[contains(@class,"article") and contains(@class,"mb15")]
# 获取div的class属性中包含article和mb15的标签
//div[contains(@class,"article") or contains(@class,"mb15")]
# 获取div的class属性中包含article或mb15的标签
以xx开头xx结尾
div[start-with(@class,'a')]
# 获取div的class属性中以a开头的标签
div[ends-with(@class,'b')]
# 获取div的class属性中以a结尾的标签
二.python操作
|
|