# Lista de funções de parsing

Você pode encontrar exemplos de uso de cada função em [Exemplos de funções de parsing](https://developers.oxylabs.io/documentation/pt-br/solucoes-de-scraping/web-scraper-api/features/custom-parser/writing-instructions-manually/list-of-functions/function-examples) página.

## Processamento de HTML

### `element_text`

* **Nome**: `element_text`
* **Descrição**: Extrai texto de `html`. Remove espaços em branco no início e no fim.
* **Args**: n/a
* **Tipos de entrada válidos:** `html`
* **Tipos de saída esperados:** `str`

### `xpath`

* **Nome**: `xpath`
* **Descrição**: Executa uma expressão XPath no valor de entrada fornecido. Se a execução não produzir um resultado, a expressão seguinte no array é usada. Funções XSLT podem ser usadas nas expressões. XPath versão 1.0 é suportado. XSLT versão 1.0 é suportado.
* **Args**:&#x20;
  * `xpath_expressions`
    * **Tipo**: `[str]`
    * **Obrigatório**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de saída esperados:**&#x20;
  * `[str]`
  * `[html]`
  * `str`
  * `float`
  * `bool`

### `xpath_one`

* **Nome**: `xpath_one`
* **Descrição**: Funciona da mesma forma que `xpath`, mas retorna apenas o primeiro valor mesmo que mais de um valor seja selecionado pelo XPath fornecido.
* **Args**:
  * `xpath_expressions`
    * **Tipo**: `[str]`
    * **Obrigatório**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de saída esperados:**
  * `str`
  * `html`
  * `str`
  * `float`
  * `bool`

### `css`

* **Nome**: `css`
* **Descrição**: Executa uma expressão CSS no valor de entrada fornecido. Se a execução não produzir um resultado, a expressão seguinte no array é usada. **Por favor, note que a saída da `css` função sempre é um array JSON contendo elementos HTML (incluindo tags de abertura e fechamento). Se você estiver interessado em extrair o conteúdo do elemento, você pode executar a `element_text` função depois.**
* **Args**:&#x20;
  * `css_expressions`
    * **Tipo**: `[str]`
    * **Obrigatório**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de saída esperados:**&#x20;
  * `[html_element]`

### `css_one`

* **Nome**: `css_one`
* **Descrição**: Funciona da mesma forma que `css`, mas retorna apenas o primeiro valor mesmo que mais de um valor seja selecionado pela expressão CSS fornecida. **Por favor, note que a saída da `css_one` função sempre é um elemento HTML (incluindo tags de abertura e fechamento). Se você estiver interessado em extrair o conteúdo do elemento, você pode executar a `element_text` função depois.**
* **Args**:&#x20;
  * `css_expressions`
    * **Tipo**: `[str]`
    * **Obrigatório**: `true`
* **Tipos de entrada válidos:**&#x20;
  * `html`
* **Tipos de saída esperados:**&#x20;
  * `html_element`

## Manipulação de strings

### `amount_from_string`

* **Nome**: `amount_from_string`
* **Descrição**: Encontra a primeira ocorrência de um valor numérico em uma string e o converte para float.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `str`
* **Tipos de saída esperados:**
  * `float`

### `amount_range_from_string`

* **Nome**: `amount_range_from_string`
* **Descrição**: Encontra todas as ocorrências de valores numéricos em uma string e as converte para floats.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `str`
* **Tipos de saída esperados:**
  * `[float]`

### `join`

* **Nome**: `join`
* **Descrição**: Junta uma lista de strings em uma única string. Os valores unidos são separados pelo `separator` valor.
* **Args**:&#x20;
  * `separator`
    * **Tipo:** `str`
    * **Obrigatório:** `false`
    * **Padrão:** `""`
* **Tipos de entrada válidos:**&#x20;
  * `[str]`
* **Tipos de saída esperados:**
  * `str`

### `regex_find_all`

* **Nome**: `regex_find_all`
* **Descrição**: Encontra todas as strings que casam com uma expressão RegEx dada.
* **Args**:&#x20;
  * `regex_pattern`
    * **Tipo:** `str`
    * **Obrigatório:** `true`
* **Tipos de entrada válidos:**&#x20;
  * `str`
* **Tipos de saída esperados:**
  * `[str]`

### `regex_search`

* **Nome**: `regex_search`
* **Descrição**: Encontra uma string que corresponda à expressão RegEx fornecida. Retorna o grupo correspondente especificado (padrão é `0`).
* **Args**:&#x20;
  * `regex_pattern`
    * **Tipo:** `str`
    * **Obrigatório:** `true`
  * `group_to_return`
    * **Tipo:** `int`
    * **Obrigatório:** `false`
    * **Padrão:** `0`
* **Tipos de entrada válidos:**&#x20;
  * `str`
* **Tipos de saída esperados:**
  * `str`

### `regex_substring`

* **Nome**: `regex_substring`
* **Descrição**: Encontra uma string que corresponda à expressão RegEx fornecida. Retorna o grupo correspondente especificado (padrão é `0`).
* **Args**:&#x20;
  * `regex_pattern`
    * **Tipo:** `str`
    * **Obrigatório:** `true`
  * `group_to_return`
    * **Tipo:** `int`
    * **Obrigatório:** `false`
    * **Padrão:** `0`
* **Tipos de entrada válidos:**&#x20;
  * `str`
* **Tipos de saída esperados:**
  * `str`

## Comum

### `length`

* **Nome**: `length`
* **Descrição**: Obtém o comprimento do array. Se um array multidimensional for fornecido como entrada, a função operará no array mais interno.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `[OneDimensionalArray]`
* **Tipos de saída esperados:**
  * `int`

### `select_nth`

* **Nome**: `select_nth`
* **Descrição**: Retorna o enésimo elemento do array. Indexação baseada em zero é usada. Suporta índices negativos para selecionar o último (`-1`), penúltimo (`-2`), … item de um array.
* **Args**:&#x20;
  * `index`
    * **Tipo:** `int`
    * **Obrigatório:** `true`
* **Tipos de entrada válidos:**&#x20;
  * `[AnyType]`
* **Tipos de saída esperados:**
  * `AnyType`

### `convert_to_float`

* **Nome**: `convert_to_float`
* **Descrição**: Converte uma string ou um int para float.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `str`
  * `int`
* **Tipos de saída esperados:**
  * `float`

### `convert_to_int`

* **Nome**: `convert_to_int`
* **Descrição**: Converte uma string ou um float para int.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `str`
  * `float`
* **Tipos de saída esperados:**
  * `int`

### `convert_to_str`

* **Nome**: `convert_to_str`
* **Descrição**: Converte um int ou um float para string.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `int`
  * `float`
* **Tipos de saída esperados:**
  * `string`

## Matemática

### `average`

* **Nome**: `average`
* **Descrição**: Calcula a média dos valores em um array.
* **Args**:
  * `round_precision`
    * **Tipo:** `int`
    * **Obrigatório:** `false`
* **Tipos de entrada válidos:**&#x20;
  * `[int]`
  * `[float]`
* **Tipos de saída esperados:**
  * `float`

### `max`

* **Nome**: `max`
* **Descrição**: Encontra o maior valor em um array.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `[float]`
  * `[int]`
* **Tipos de saída esperados:**
  * `float`
  * `int`

### `min`

* **Nome**: `min`
* **Descrição**: Encontra o menor valor em um array.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `[float]`
  * `[int]`
* **Tipos de saída esperados:**
  * `float`
  * `int`

### `product`

* **Nome**: `product`
* **Descrição**: Retorna o produto da multiplicação de todos os valores do array.
* **Args**: n/a
* **Tipos de entrada válidos:**&#x20;
  * `[float]`
  * `[int]`
* **Tipos de saída esperados:**
  * `float`
  * `int`
