# Lista de funciones de análisis

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

## Procesamiento HTML

### `element_text`

* **Nombre**: `element_text`
* **Descripción**: Extrae texto de `html`. Elimina espacios en blanco al inicio y al final.
* **Args**: n/a
* **Tipos de entrada válidos:** `html`
* **Tipos de salida esperados:** `str`

### `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. Se pueden usar funciones XSLT en las expresiones. Se admite XPath versión 1.0. Se admite XSLT versión 1.0.
* **Args**:&#x20;
  * `xpath_expressions`
    * **Tipo**: `[str]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de salida esperados:**&#x20;
  * `[str]`
  * `[html]`
  * `str`
  * `float`
  * `bool`

### `xpath_one`

* **Nombre**: `xpath_one`
* **Descripción**: Funciona de la misma manera que `xpath`, pero devuelve solo el primer valor incluso si la expresión XPath proporcionada selecciona más de un valor.
* **Args**:
  * `xpath_expressions`
    * **Tipo**: `[str]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de salida esperados:**
  * `str`
  * `html`
  * `str`
  * `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 arreglo. **Tenga en cuenta que la salida de la `css` función siempre es un array JSON que contiene elementos HTML (incluyendo las etiquetas de apertura y cierre). Si le interesa extraer el contenido del elemento, puede ejecutar la `element_text` función posteriormente.**
* **Args**:&#x20;
  * `css_expressions`
    * **Tipo**: `[str]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de salida esperados:**&#x20;
  * `[html_element]`

### `css_one`

* **Nombre**: `css_one`
* **Descripción**: Funciona de la misma manera que `css`, pero devuelve solo el primer valor incluso si la expresión CSS proporcionada selecciona más de un valor. **Tenga en cuenta que la salida de la `css_one` la función siempre es un elemento HTML (incluyendo las etiquetas de apertura y cierre). Si le interesa extraer el contenido del elemento, puede ejecutar la `element_text` función posteriormente.**
* **Args**:&#x20;
  * `css_expressions`
    * **Tipo**: `[str]`
    * **Requerido**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de salida esperados:**&#x20;
  * `html_element`

## Manipulación de cadenas

### `amount_from_string`

* **Nombre**: `amount_from_string`
* **Descripción**: Encuentra la primera ocurrencia de un valor numérico en una cadena y lo convierte a float.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `str`
* **Tipos de salida esperados:**
  * `float`

### `amount_range_from_string`

* **Nombre**: `amount_range_from_string`
* **Descripción**: Encuentra todas las ocurrencias de valores numéricos en una cadena y los convierte a floats.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `str`
* **Tipos de salida esperados:**
  * `[float]`

### `join`

* **Nombre**: `join`
* **Descripción**: Une una lista de cadenas en una sola cadena. Los valores unidos están separados por el `separator` valor.
* **Args**:&#x20;
  * `separator`
    * **Tipo:** `str`
    * **Requerido:** `false`
    * **Por defecto:** `""`
* **Tipos de entrada válidos:**&#x20;
  * `[str]`
* **Tipos de salida esperados:**
  * `str`

### `regex_find_all`

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

### `regex_search`

* **Nombre**: `regex_search`
* **Descripción**: Encuentra una cadena que coincida con la expresión RegEx dada. Devuelve el grupo de coincidencia especificado (por defecto `0`).
* **Args**:&#x20;
  * `regex_pattern`
    * **Tipo:** `str`
    * **Requerido:** `true`
  * `group_to_return`
    * **Tipo:** `int`
    * **Requerido:** `false`
    * **Por defecto:** `0`
* **Tipos de entrada válidos:**&#x20;
  * `str`
* **Tipos de salida esperados:**
  * `str`

### `regex_substring`

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

## Común

### `length`

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

### `select_nth`

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

### `convert_to_float`

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

### `convert_to_int`

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

### `convert_to_str`

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

## Matemáticas

### `average`

* **Nombre**: `average`
* **Descripción**: Calcula el promedio de los valores en un array.
* **Args**:
  * `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.
* **Args**: 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.
* **Args**: 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.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `[float]`
  * `[int]`
* **Tipos de salida esperados:**
  * `float`
  * `int`
