# Lista de funciones de análisis

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

## Procesamiento de HTML

### `element_text`

* **Nombre**: `element_text`
* **Descripción**: Extrae texto de `html`. Elimina los espacios en blanco iniciales y finales.
* **Argumentos**: n/a
* **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 array. Se pueden usar funciones XSLT en las expresiones. Se admite XPath versión 1.0. Se admite XSLT versión 1.0.
* **Argumentos**:&#x20;
  * `xpath_expressions`
    * **Tipo**: `[cadena]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de salida esperados:**&#x20;
  * `[cadena]`
  * `[html]`
  * `cadena`
  * `float`
  * `bool`

### `xpath_one`

* **Nombre**: `xpath_one`
* **Descripción**: Funciona igual que `xpath`, pero devuelve solo el primer valor aunque la XPath proporcionada seleccione más de un valor.
* **Argumentos**:
  * `xpath_expressions`
    * **Tipo**: `[cadena]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de salida esperados:**
  * `cadena`
  * `html`
  * `cadena`
  * `float`
  * `bool`

### `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 array. **Ten en cuenta que la salida de la `css` función siempre es un array JSON que contiene elementos HTML (incluidas las etiquetas de apertura y cierre). Si te interesa extraer el contenido del elemento, puedes ejecutar la `element_text` función después.**
* **Argumentos**:&#x20;
  * `css_expressions`
    * **Tipo**: `[cadena]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de salida esperados:**&#x20;
  * `[elemento_html]`

### `css_one`

* **Nombre**: `css_one`
* **Descripción**: Funciona igual que `css`, pero devuelve solo el primer valor aunque la expresión CSS proporcionada seleccione más de un valor. **Ten en cuenta que la salida de la `css_one` función siempre es un elemento HTML (incluidas las etiquetas de apertura y cierre). Si te interesa extraer el contenido del elemento, puedes ejecutar la `element_text` función después.**
* **Argumentos**:&#x20;
  * `css_expressions`
    * **Tipo**: `[cadena]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de salida esperados:**&#x20;
  * `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 a float.
* **Argumentos**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `cadena`
* **Tipos de salida esperados:**
  * `float`

### `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 a float.
* **Argumentos**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `cadena`
* **Tipos de salida esperados:**
  * `[float]`

### `join`

* **Nombre**: `join`
* **Descripción**: Une una lista de cadenas en una sola cadena. Los valores unidos se separan por el `separator` valor.
* **Argumentos**:&#x20;
  * `separator`
    * **Tipo:** `cadena`
    * **Requerido:** `false`
    * **Predeterminado:** `""`
* **Tipos de entrada válidos:**&#x20;
  * `[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**:&#x20;
  * `regex_pattern`
    * **Tipo:** `cadena`
    * **Requerido:** `true`
* **Tipos de entrada válidos:**&#x20;
  * `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 (predeterminado a `0`).
* **Argumentos**:&#x20;
  * `regex_pattern`
    * **Tipo:** `cadena`
    * **Requerido:** `true`
  * `group_to_return`
    * **Tipo:** `int`
    * **Requerido:** `false`
    * **Predeterminado:** `0`
* **Tipos de entrada válidos:**&#x20;
  * `cadena`
* **Tipos de salida esperados:**
  * `cadena`

### `regex_substring`

* **Nombre**: `regex_substring`
* **Descripción**: Encuentra una cadena que coincide con la expresión RegEx dada. Devuelve el grupo de coincidencia especificado (predeterminado a `0`).
* **Argumentos**:&#x20;
  * `regex_pattern`
    * **Tipo:** `cadena`
    * **Requerido:** `true`
  * `group_to_return`
    * **Tipo:** `int`
    * **Requerido:** `false`
    * **Predeterminado:** `0`
* **Tipos de entrada válidos:**&#x20;
  * `cadena`
* **Tipos de salida esperados:**
  * `cadena`

## Común

### `longitud`

* **Nombre**: `longitud`
* **Descripción**: Obtiene la longitud del array. Si se proporciona como entrada un array multidimensional, la función trabajará sobre el array más interno.
* **Argumentos**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `[ArrayUnidimensional]`
* **Tipos de salida esperados:**
  * `int`

### `select_nth`

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

### `convert_to_float`

* **Nombre**: `convert_to_float`
* **Descripción**: Convierte una cadena o un int a float.
* **Argumentos**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `cadena`
  * `int`
* **Tipos de salida esperados:**
  * `float`

### `convert_to_int`

* **Nombre**: `convert_to_int`
* **Descripción**: Convierte una cadena o un float a int.
* **Argumentos**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `cadena`
  * `float`
* **Tipos de salida esperados:**
  * `int`

### `convert_to_str`

* **Nombre**: `convert_to_str`
* **Descripción**: Convierte un int o un float a cadena.
* **Argumentos**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `int`
  * `float`
* **Tipos de salida esperados:**
  * `cadena`

## Matemáticas

### `average`

* **Nombre**: `average`
* **Descripción**: Calcula el promedio de los valores de un array.
* **Argumentos**:
  * `round_precision`
    * **Tipo:** `int`
    * **Requerido:** `false`
* **Tipos de entrada válidos:**&#x20;
  * `[int]`
  * `[float]`
* **Tipos de salida esperados:**
  * `float`

### `max`

* **Nombre**: `max`
* **Descripción**: Encuentra el valor mayor en un array.
* **Argumentos**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `[float]`
  * `[int]`
* **Tipos de salida esperados:**
  * `float`
  * `int`

### `min`

* **Nombre**: `min`
* **Descripción**: Encuentra el valor menor en un array.
* **Argumentos**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `[float]`
  * `[int]`
* **Tipos de salida esperados:**
  * `float`
  * `int`

### `product`

* **Nombre**: `product`
* **Descripción**: Devuelve el producto de multiplicación de todos los valores del array.
* **Argumentos**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `[float]`
  * `[int]`
* **Tipos de salida esperados:**
  * `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/es/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.
