路径表达式
表达式 | 描述 |
---|---|
/ | 从根节点选取。 |
node | 选取此节点的所有子节点 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 |
. | 选取当前节点。 |
… | 选取当前节点的父节点。 |
@ | 选取属性 |
例://title[@lang]
选取所有拥有名为 lang 的属性的 title 元素。
通配符
通配符 | 描述 |
---|---|
* | 匹配任何元素节点。 |
@* | 匹配任何属性节点。 |
node() | 匹配任何类型的节点。 |
例://title[@*]
选取所有带有属性的 title 元素。
运算符
运算符 | 描述 |
---|---|
| | 计算两个节点集 |
+ | 加法 |
- | 减法 |
* | 乘法 |
div | 除法 |
= | 等于 |
!= | 不等于 |
<=(<) | 小于等于(小于) |
>=(>) | 大于等于(大于) |
or | 或 |
and | 与 |
mod | 求余 |
例:content = selector.xpath(’//tr[descendant::td[@style!=“color: 0”]]’)
过滤 tr 元素, 如果 tr 的后代元素 td 的属性 style 值不为 “color: 0”, 那么就提取这个 tr 子节点。否则不提取。