For the complete documentation index, see llms.txt. This page is also available as Markdown.

Instruções do navegador (Beta)

Com o Web Unblocker, você pode definir instruções do navegador ao criar um job para um processo de coleta de dados mais fluido.

Ao usar Instruções Personalizadas do Navegador, você pode definir suas próprias instruções específicas do navegador que são executadas ao renderizar JavaScript.

Como usar?

Para usar instruções do navegador, forneça um conjunto de browser_instructions ao criar um job.

Digamos que você queira pesquisar o termo caixas de pizza em um site.

Um exemplo de parâmetros do job seria o seguinte:

Etapa 1. Você deve fornecer o x-oxylabs-render: html parâmetro.

Etapa 2. As instruções do navegador devem ser descritas no x-oxylabs-browser_instructions campo.

As instruções do navegador fornecidas como valor do cabeçalho devem ser escapadas em JSON e não conter espaços extras.

As instruções de navegador de exemplo acima especificam que o objetivo é inserir um termo de busca caixas de pizza em um campo de busca, clicar no busca botão e aguardar 5 segundos para o conteúdo carregar.

O resultado coletado deve ser semelhante ao seguinte:

O HTML coletado deve ser assim:

Obtendo recursos do navegador

Fornecemos uma instrução de navegador independente para obter recursos do navegador.

A função é definida aqui:

Usando fetch_resource resultará no job retornar a primeira ocorrência de um recurso Fetch/XHR que corresponda ao formato fornecido em vez do HTML que está sendo segmentado.

Digamos que queremos segmentar um recurso GraphQL que é buscado ao visitar naturalmente uma página de produto no navegador. Forneceremos as informações do job assim:

Essas instruções resultarão em um resultado como este:

Lista de instruções de navegador compatíveis

Argumentos gerais

Todas as instruções definidas abaixo têm um conjunto consistente de argumentos. Os argumentos são os seguintes.

type

  • Tipo: Enum["click", "input", "scroll", "scroll_to_bottom", "wait", "wait_for_element", "fetch_resource"]

  • Descrição: Tipo da instrução do navegador.

timeout_s

  • Tipo: inteiro

  • Descrição: Quanto tempo até a ação ser ignorada se não for concluída a tempo.

  • Restrições: 0 < timeout_s <= 60

  • Valor padrão: 5

wait_time_s

  • Tipo: inteiro

  • Descrição: Quanto tempo esperar antes de executar a próxima ação.

  • Restrições: 0 < wait_time_s <= 60

  • Valor padrão: 0

on_error

  • Tipo: Enum["error", "skip"]

  • Descrição: Indicador do que fazer com as instruções caso esta instrução falhe:

    • "error": Interrompe a execução das instruções do navegador.

    • "skip": Continua com a próxima instrução.

  • Valor padrão: "error"

Exemplo com argumentos gerais

Instruções

click

  • Descrição: Clica em um elemento e espera uma quantidade definida de segundos.

  • Args:

    • type: str = "click"

    • selector: dict

      • type: Enum["xpath", "css", "text"]

      • value: str

  • Exemplo:

input

  • Descrição: Insere texto em um elemento selecionado.

  • Args:

    • type: str = "input"

    • selector: dict

      • type: Enum["xpath", "css", "text"]

      • value: str

    • value: str

    • Exemplo:

scroll

  • Descrição: Rola um número definido de pixels.

  • Args:

    • type: str = "scroll"

    • x: int

    • y: int

  • Exemplo:

scroll_to_bottom

  • Descrição: Rola até o final por uma quantidade definida de segundos.

  • Args:

    • type: str = "scroll_to_bottom"

  • Exemplo:

wait

  • Descrição: Aguarda uma quantidade definida de segundos.

  • Args:

    • type: str = "wait"

  • Exemplo:

wait_for_element

  • Descrição: Aguarda o carregamento do elemento por uma quantidade definida de segundos.

  • Args:

    • type: str = "wait_for_element"

    • selector: dict

      • type: Enum["xpath", "css", "text"]

      • value: str

    • Exemplo:

fetch_resource

  • Descrição: Obtém a primeira ocorrência de um recurso Fetch/XHR que corresponda ao padrão definido.

  • Args:

    • type: str = "fetch_resource"

    • filter: str(RegEx expression)

    • on_error: Enum["error", "skip"]

  • Exemplo:

Validação das instruções

Qualquer inconsistência em relação ao formato da instrução resultará em um 400 código de status e uma mensagem de erro correspondente.

Por exemplo, um payload como este:

Resultará em:

Códigos de status

Veja nossos códigos de resposta descritos aqui.

Atualizado

Isto foi útil?