> For the complete documentation index, see [llms.txt](https://developers.oxylabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.oxylabs.io/products/es/web-scraper-api/features/custom-parser/writing-instructions-manually/list-of-functions.md).

# Lista de funciones de análisis

Descubre la lista completa de funciones compatibles con Custom Parser: regex, XPath, CSS y más.

Puedes encontrar ejemplos de uso de cada función en la [Ejemplos de funciones de parsing](/products/es/web-scraper-api/features/custom-parser/writing-instructions-manually/list-of-functions/function-examples.md) página.

## Cómo pasar argumentos

Cada función recibe su configuración a través de `_args`. Se usan dos formas, y no son intercambiables:

| Forma                                           | Funciones                                                                                   | Ejemplo                       |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------- |
| **Arreglo** - uno o más valores entre corchetes | `xpath`, `xpath_one`, `css`, `css_one`, `regex_find_all`, `regex_search`, `regex_substring` | `"_args": ["//h4/text()"]`    |
| **Valor único** - sin corchetes                 | `join`, `select_nth`                                                                        | `"_args": 0` · `"_args": " "` |

Para las funciones selector y RegEx, el arreglo también le permite listar expresiones de respaldo: la siguiente se prueba cuando la anterior no encuentra nada. Las funciones sin configuración (`element_text`, `amount_from_string`, `length`, `max`, …) no toman `_args` nada en absoluto.

Usar la forma incorrecta no hace fallar la tarea: el campo vuelve `null`, `parse_status_code` es `12005`, y `_warnings` contiene *argumentos recibidos de tipo no válido `arreglo`* (o `cadena`).

## Procesamiento de HTML

### `element_text`

* **Nombre**: `element_text`
* **Descripción**: Extrae texto de `html`. Elimina los espacios en blanco iniciales y finales.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:** `html`
* **Tipos de salida esperados:** `cadena`

### `xpath`

* **Nombre**: `xpath`
* **Descripción**: Ejecuta una expresión XPath sobre el valor de entrada dado. Si la ejecución no produce un resultado, se usa la siguiente expresión del arreglo. Las funciones XSLT pueden usarse en las expresiones. Se admite XPath versión 1.0. Se admite XSLT versión 1.0.
* **Argumentos**:
  * `xpath_expressions`
    * **Tipo**: `[cadena]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**
  * `html`
* **Tipos de salida esperados:**
  * `[cadena]`
  * `[html]`
  * `cadena`
  * `flotante`
  * `booleano`

### `xpath_one`

* **Nombre**: `xpath_one`
* **Descripción**: Funciona de la misma manera que `xpath`, pero devuelve solo el primer valor aunque se seleccione más de un valor mediante el XPath proporcionado.
* **Argumentos**:
  * `xpath_expressions`
    * **Tipo**: `[cadena]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**
  * `html`
* **Tipos de salida esperados:**
  * `cadena`
  * `html`
  * `cadena`
  * `flotante`
  * `booleano`

### `css`

* **Nombre**: `css`
* **Descripción**: Ejecuta una expresión CSS sobre el valor de entrada dado. Si la ejecución no produce un resultado, se usa la siguiente expresión del arreglo. **Tenga en cuenta que la salida de la `css` función siempre es un arreglo JSON que contiene elementos HTML (incluidas las etiquetas de apertura y cierre). Si le interesa extraer el contenido del elemento, puede ejecutar la `element_text` función después.**
* **Argumentos**:
  * `css_expressions`
    * **Tipo**: `[cadena]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**
  * `html`
* **Tipos de salida esperados:**
  * `[elemento_html]`

### `css_one`

* **Nombre**: `css_one`
* **Descripción**: Funciona de la misma manera que `css`, pero devuelve solo el primer valor aunque se seleccione más de un valor mediante la expresión CSS proporcionada. **Tenga en cuenta que la salida de la `css_one` función siempre es un elemento HTML (incluidas las etiquetas de apertura y cierre). Si le interesa extraer el contenido del elemento, puede ejecutar la `element_text` función después.**
* **Argumentos**:
  * `css_expressions`
    * **Tipo**: `[cadena]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**
  * `html`
* **Tipos de salida esperados:**
  * `elemento_html`

## Manipulación de cadenas

### `amount_from_string`

* **Nombre**: `amount_from_string`
* **Descripción**: Encuentra la primera aparición de un valor numérico en una cadena y lo convierte en un flotante.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:**
  * `cadena`
* **Tipos de salida esperados:**
  * `flotante`

### `amount_range_from_string`

* **Nombre**: `amount_range_from_string`
* **Descripción**: Encuentra todas las apariciones de valores numéricos en una cadena y las convierte en flotantes.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:**
  * `cadena`
* **Tipos de salida esperados:**
  * `[flotante]`

### `join`

* **Nombre**: `join`
* **Descripción**: Une una lista de cadenas en una sola cadena. Los valores unidos se separan por el `separador` valor.
* **Argumentos**:
  * `separador`
    * **Tipo:** `cadena`
    * **Requerido:** `false`
    * **Predeterminado:** `""`
* **Tipos de entrada válidos:**
  * `[cadena]`
* **Tipos de salida esperados:**
  * `cadena`

### `regex_find_all`

* **Nombre**: `regex_find_all`
* **Descripción**: Encuentra todas las cadenas que coinciden con una expresión RegEx dada.
* **Argumentos**:
  * `regex_pattern`
    * **Tipo:** `cadena`
    * **Requerido:** `true`
* **Tipos de entrada válidos:**
  * `cadena`
* **Tipos de salida esperados:**
  * `[cadena]`

### `regex_search`

* **Nombre**: `regex_search`
* **Descripción**: Encuentra una cadena que coincide con la expresión RegEx dada. Devuelve el grupo de coincidencia especificado (por defecto `0`).
* **Argumentos**:
  * `regex_pattern`
    * **Tipo:** `cadena`
    * **Requerido:** `true`
  * `group_to_return`
    * **Tipo:** `entero`
    * **Requerido:** `false`
    * **Predeterminado:** `0`
* **Tipos de entrada válidos:**
  * `cadena`
* **Tipos de salida esperados:**
  * `cadena`

### `regex_substring`

* **Nombre**: `regex_substring`
* **Descripción**: Reemplaza cada parte de la cadena de entrada que coincide con la expresión RegEx dada con el `replacement` valor. Las referencias inversas a grupos de captura (p. ej., `\\1`) se admiten en el reemplazo; un reemplazo vacío elimina las coincidencias.
* **Argumentos**:
  * `regex_pattern`
    * **Tipo:** `cadena`
    * **Requerido:** `true`
  * `replacement`
    * **Tipo:** `cadena`
    * **Requerido:** `true`
* **Tipos de entrada válidos:**
  * `cadena`
* **Tipos de salida esperados:**
  * `cadena`

## Comunes

### `length`

* **Nombre**: `length`
* **Descripción**: Obtiene la longitud del arreglo. Si se proporciona un arreglo multidimensional como entrada, la función trabajará sobre el arreglo más interno.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:**
  * `[arreglo_unidimensional]`
* **Tipos de salida esperados:**
  * `entero`

### `select_nth`

* **Nombre**: `select_nth`
* **Descripción**: Devuelve el elemento n-ésimo del arreglo. Se usa indexación basada en cero. Admite índices negativos para seleccionar el último (`-1`), penúltimo (`-2`), … elemento de un arreglo.
* **Argumentos**:
  * `índice`
    * **Tipo:** `entero`
    * **Requerido:** `true`
* **Tipos de entrada válidos:**
  * `[CualquierTipo]`
* **Tipos de salida esperados:**
  * `CualquierTipo`

### `convert_to_float`

* **Nombre**: `convert_to_float`
* **Descripción**: Convierte una cadena o un entero a un flotante.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:**
  * `cadena`
  * `entero`
* **Tipos de salida esperados:**
  * `flotante`

### `convert_to_int`

* **Nombre**: `convert_to_int`
* **Descripción**: Convierte una cadena o un flotante a un entero.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:**
  * `cadena`
  * `flotante`
* **Tipos de salida esperados:**
  * `entero`

### `convert_to_str`

* **Nombre**: `convert_to_str`
* **Descripción**: Convierte un entero o un flotante a una cadena.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:**
  * `entero`
  * `flotante`
* **Tipos de salida esperados:**
  * `cadena`

## Matemáticas

### `average`

* **Nombre**: `average`
* **Descripción**: Calcula el promedio de los valores en un arreglo.
* **Argumentos**:
  * `round_precision`
    * **Tipo:** `entero`
    * **Requerido:** `false`
* **Tipos de entrada válidos:**
  * `[entero]`
  * `[flotante]`
* **Tipos de salida esperados:**
  * `flotante`

### `max`

* **Nombre**: `max`
* **Descripción**: Encuentra el valor mayor en un arreglo.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:**
  * `[flotante]`
  * `[entero]`
* **Tipos de salida esperados:**
  * `flotante`
  * `entero`

### `min`

* **Nombre**: `min`
* **Descripción**: Encuentra el valor menor en un arreglo.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:**
  * `[flotante]`
  * `[entero]`
* **Tipos de salida esperados:**
  * `flotante`
  * `entero`

### `product`

* **Nombre**: `product`
* **Descripción**: Devuelve el producto de multiplicación de todos los valores del arreglo.
* **Argumentos**: no aplica
* **Tipos de entrada válidos:**
  * `[flotante]`
  * `[entero]`
* **Tipos de salida esperados:**
  * `flotante`
  * `entero`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
