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 操作
|
|

