# 解析函数列表

您可以在以下位置找到每个函数的使用示例： [解析函数示例](/products/cn/web-scraper-api/features/custom-parser/writing-instructions-manually/list-of-functions/function-examples.md) 页面。

## HTML 处理

### `element_text`

* **名称**: `element_text`
* **描述**：从以下内容中提取文本 `html`。去除前导和尾随空白。
* **参数**：不适用
* **有效输入类型：** `html`
* **预期输出类型：** `str`

### `xpath`

* **名称**: `xpath`
* **描述**：在给定的输入值上执行 XPath 表达式。如果执行未产生结果，则使用数组中的下一个表达式。表达式中可以使用 XSLT 函数。支持 XPath 1.0 版本。支持 XSLT 1.0 版本。
* **参数**:&#x20;
  * `xpath_expressions`
    * **类型**: `[str]`
    * **必填**: `true`
* **有效输入类型：**&#x20;
  * `html`
* **预期输出类型：**&#x20;
  * `[str]`
  * `[html]`
  * `str`
  * `float`
  * `bool`

### `xpath_one`

* **名称**: `xpath_one`
* **描述**：工作方式与 `xpath`相同，但即使提供的 XPath 选择了多个值，也只返回第一个值。
* **参数**:
  * `xpath_expressions`
    * **类型**: `[str]`
    * **必填**: `true`
* **有效输入类型：**&#x20;
  * `html`
* **预期输出类型：**
  * `str`
  * `html`
  * `str`
  * `float`
  * `bool`

### `css`

* **名称**: `css`
* **描述**：在给定的输入值上执行 CSS 表达式。如果执行未产生结果，则使用数组中的下一个表达式。 **请注意， `css` 函数的输出始终是一个包含 HTML 元素的 JSON 数组（包括开始和结束标签）。如果您对提取元素内容感兴趣，可以随后执行 `element_text` 函数。**
* **参数**:&#x20;
  * `css_expressions`
    * **类型**: `[str]`
    * **必填**: `true`
* **有效输入类型：**&#x20;
  * `html`
* **预期输出类型：**&#x20;
  * `[html_element]`

### `css_one`

* **名称**: `css_one`
* **描述**：工作方式与 `css`，但即使提供的 CSS 表达式选择了多个值，也只返回第一个值。 **请注意， `css_one` 函数的输出始终是一个 HTML 元素（包括开始和结束标签）。如果您对提取元素内容感兴趣，可以随后执行 `element_text` 函数。**
* **参数**:&#x20;
  * `css_expressions`
    * **类型**: `[str]`
    * **必填**: `true`
* **有效输入类型：**&#x20;
  * `html`
* **预期输出类型：**&#x20;
  * `html_element`

## 字符串操作

### `amount_from_string`

* **名称**: `amount_from_string`
* **描述**：在字符串中查找第一个数值出现的位置，并将其转换为浮点数。
* **参数**：不适用
* **有效输入类型：**&#x20;
  * `str`
* **预期输出类型：**
  * `float`

### `amount_range_from_string`

* **名称**: `amount_range_from_string`
* **描述**：查找字符串中所有数值出现的位置，并将其转换为浮点数。
* **参数**：不适用
* **有效输入类型：**&#x20;
  * `str`
* **预期输出类型：**
  * `[float]`

### `join`

* **名称**: `join`
* **描述**：将字符串列表连接为一个字符串。连接后的值之间由 `分隔符` 值分隔。
* **参数**:&#x20;
  * `分隔符`
    * **类型：** `str`
    * **必填：** `false`
    * **默认值：** `""`
* **有效输入类型：**&#x20;
  * `[str]`
* **预期输出类型：**
  * `str`

### `regex_find_all`

* **名称**: `regex_find_all`
* **描述**：查找所有与给定正则表达式匹配的字符串。
* **参数**:&#x20;
  * `regex_pattern`
    * **类型：** `str`
    * **必填：** `true`
* **有效输入类型：**&#x20;
  * `str`
* **预期输出类型：**
  * `[str]`

### `regex_search`

* **名称**: `regex_search`
* **描述**：查找与给定正则表达式匹配的字符串。返回指定的匹配组（默认为 `0`).
* **参数**:&#x20;
  * `regex_pattern`
    * **类型：** `str`
    * **必填：** `true`
  * `group_to_return`
    * **类型：** `int`
    * **必填：** `false`
    * **默认值：** `0`
* **有效输入类型：**&#x20;
  * `str`
* **预期输出类型：**
  * `str`

### `regex_substring`

* **名称**: `regex_substring`
* **描述**：查找与给定正则表达式匹配的字符串。返回指定的匹配组（默认为 `0`).
* **参数**:&#x20;
  * `regex_pattern`
    * **类型：** `str`
    * **必填：** `true`
  * `group_to_return`
    * **类型：** `int`
    * **必填：** `false`
    * **默认值：** `0`
* **有效输入类型：**&#x20;
  * `str`
* **预期输出类型：**
  * `str`

## 通用

### `length`

* **名称**: `length`
* **描述**：获取数组的长度。如果输入提供的是多维数组，该函数将作用于最内层数组。
* **参数**：不适用
* **有效输入类型：**&#x20;
  * `[OneDimensionalArray]`
* **预期输出类型：**
  * `int`

### `select_nth`

* **名称**: `select_nth`
* **描述**：返回第 n 个数组元素。使用从零开始的索引。支持负索引以选择最后一个（`-1`）、倒数第二个（`-2`）……数组项。
* **参数**:&#x20;
  * `index`
    * **类型：** `int`
    * **必填：** `true`
* **有效输入类型：**&#x20;
  * `[AnyType]`
* **预期输出类型：**
  * `AnyType`

### `convert_to_float`

* **名称**: `convert_to_float`
* **描述**：将字符串或整数转换为浮点数。
* **参数**：不适用
* **有效输入类型：**&#x20;
  * `str`
  * `int`
* **预期输出类型：**
  * `float`

### `convert_to_int`

* **名称**: `convert_to_int`
* **描述**：将字符串或浮点数转换为整数。
* **参数**：不适用
* **有效输入类型：**&#x20;
  * `str`
  * `float`
* **预期输出类型：**
  * `int`

### `convert_to_str`

* **名称**: `convert_to_str`
* **描述**：将整数或浮点数转换为字符串。
* **参数**：不适用
* **有效输入类型：**&#x20;
  * `int`
  * `float`
* **预期输出类型：**
  * `string`

## 数学

### `average`

* **名称**: `average`
* **描述**：计算数组中各值的平均值。
* **参数**:
  * `round_precision`
    * **类型：** `int`
    * **必填：** `false`
* **有效输入类型：**&#x20;
  * `[int]`
  * `[float]`
* **预期输出类型：**
  * `float`

### `max`

* **名称**: `max`
* **描述**：查找数组中的最大值。
* **参数**：不适用
* **有效输入类型：**&#x20;
  * `[float]`
  * `[int]`
* **预期输出类型：**
  * `float`
  * `int`

### `min`

* **名称**: `min`
* **描述**：查找数组中的最小值。
* **参数**：不适用
* **有效输入类型：**&#x20;
  * `[float]`
  * `[int]`
* **预期输出类型：**
  * `float`
  * `int`

### `product`

* **名称**: `product`
* **描述**：返回所有数组值的乘积。
* **参数**：不适用
* **有效输入类型：**&#x20;
  * `[float]`
  * `[int]`
* **预期输出类型：**
  * `float`
  * `int`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.oxylabs.io/products/cn/web-scraper-api/features/custom-parser/writing-instructions-manually/list-of-functions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
