XPath是一种用于在 XML 或 HTML 文档中定位和选择节点的查询语言。和BS不同的是,XPath更能够通过节点的关系来选取对应节点。使用XPath需要安装 lxml 模块
| 表达式 |
描述 |
nodename |
选取节点所有子节点 |
/ |
根节点 |
// |
从匹配选择的当前节点 |
. |
当前节点 |
.. |
当前节点父节点 |
@属性名 |
选取属性 |
/text() |
获取文本 |
| 表达式 |
描述 |
/标签1/标签2[n] |
标签1子元素中第 n 个标签2 |
/标签1/标签2[last()-(n-1)] |
标签1子元素中倒数第 n 个标签2 |
/标签1/标签2[position() < n] |
标签1子元素中前 n 个标签2 |
//标签1[@属性1] |
选取拥有属性1的全部标签1 |
//标签1[@属性1=x] |
选取拥有属性1为x的全部标签1 |
* |
通配符 |
from lxml import etree
html = etree.HTML(response.text)
html = etree.parse("文件路径.html")
title = html.xpath("表达式")
- 定位到包含数据所有元素
- 找到包含具体内容的子元素
- 对子元素遍历,提取详细内容