Alice 语言 数据提取中的XPath与CSS选择器进阶

AI人工智能阿木 发布于 2025-06-11 10 次阅读


XPath与CSS选择器进阶:数据提取的艺术

在数据提取领域,XPath和CSS选择器是两种常用的技术,用于从HTML和XML文档中提取所需信息。XPath(XML Path Language)是一种在XML文档中查找信息的语言,而CSS选择器则是用于选择HTML元素的一种语法。本文将深入探讨XPath与CSS选择器的进阶用法,帮助读者在数据提取的道路上更进一步。

XPath进阶

1. XPath轴

XPath轴允许我们在XML文档中沿着特定方向进行导航。以下是一些常用的XPath轴:

- `/`:根轴,指向当前文档的根节点。
- `child::`:子轴,指向当前节点的直接子节点。
- `attribute::`:属性轴,指向当前节点的属性。
- `parent::`:父轴,指向当前节点的父节点。
- `following-sibling::`:后继兄弟轴,指向当前节点之后同一父节点的兄弟节点。
- `preceding-sibling::`:前驱兄弟轴,指向当前节点之前同一父节点的兄弟节点。

2. XPath谓词

XPath谓词用于指定节点必须满足的条件。以下是一些常用的XPath谓词:

- `[name='value']`:指定节点名称和值。
- `[position()=1]`:指定节点在兄弟节点中的位置。
- `[text()='text']`:指定节点文本内容。

3. XPath函数

XPath函数用于执行更复杂的操作。以下是一些常用的XPath函数:

- `count()`:计算节点数量。
- `string()`:获取节点文本内容。
- `concat()`:连接字符串。

示例代码

xml

Book A
Author A

Book B
Author B

xpath
//book/title
//book/author
//book[count(title)=1]

CSS选择器进阶

1. 属性选择器

属性选择器用于选择具有特定属性的元素。以下是一些常用的属性选择器:

- `[attribute]`:选择具有指定属性的元素。
- `[attribute=value]`:选择具有指定属性和值的元素。
- `[attribute~="value"]`:选择具有指定属性和以空格分隔的值列表的元素。

2. 伪类选择器

伪类选择器用于选择具有特定状态的元素。以下是一些常用的伪类选择器:

- `:hover`:选择鼠标悬停时的元素。
- `:active`:选择正在激活的元素。
- `:focus`:选择获得焦点的元素。

3. 伪元素选择器

伪元素选择器用于选择元素中的特定部分。以下是一些常用的伪元素选择器:

- `::first-letter`:选择元素的首字母。
- `::first-line`:选择元素的第一行。
- `::before` 和 `::after`:在元素内容之前或之后插入内容。

示例代码

html

Item 1

Item 2