renderização JavaScript

Saiba sobre o cabeçalho que você pode incluir em suas solicitações para obter dados totalmente renderizados, que você pode armazenar em um arquivo HTML ou como uma captura de tela PNG.

Se a página que você deseja raspar requer carregar JavaScript para inserir dinamicamente todos os dados necessários no DOM, em vez de configurar e usar um navegador headless por conta própria, você pode incluir o "X-Oxylabs-Render: html" cabeçalho em suas requisições. Todas as requisições com este cabeçalho incluído serão totalmente renderizadas, e todos os dados serão armazenados em um arquivo HTML ou em uma captura de tela PNG (dependendo do parâmetro passado).

circle-info

A renderização de JavaScript leva mais tempo para raspar a página. Ao usar renderização de JavaScript, defina o tempo limite do lado do cliente para 180 segundos.

circle-exclamation

Este parâmetro tem dois valores disponíveis:

  • html (HTML de uma página renderizada)

  • png (bytes brutos que podem ser salvos como PNG)

Exemplos de código

curl -k -v -x https://unblock.oxylabs.io:60000 \
-U 'USERNAME:PASSWORD' \
'https://ip.oxylabs.io/location' \
-H 'X-Oxylabs-Render: html'

Raspando o HTML de um site

Neste exemplo, iremos renderizar a página inicial do YouTube e raspar o conteúdo da página. Normalmente a página inicial do YouTube ficaria assim se o Web Unblocker for usado sem renderização de JavaScript:

Exemplo de página do Youtube sem renderização de JavaScript

Adicionando o "X-Oxylabs-Render: html" cabeçalho, conforme fornecido nos exemplos abaixo, permitirá a renderização de Javascript e retornará o HTML de uma página renderizada:

O arquivo HTML aberto em um navegador deve ficar assim:

Obtendo uma captura de tela de uma página totalmente renderizada

Para obter uma captura de tela em formato PNG em vez do HTML da página, é necessário fornecer o "X-Oxylabs-Render: png" cabeçalho.

A resposta conterá bytes brutos de uma imagem que podem ser salvos em formato PNG e abertos como no exemplo abaixo:

Exemplo de página do Youtube como captura de tela em formato PNG

Forçando renderização em páginas específicas

Para raspagem bem-sucedida, alguns tipos de página de domínios específicos exigem renderização devido ao seu conteúdo dinâmico. Nosso sistema aplica automaticamente a renderização para essas páginas, mesmo que não seja definida explicitamente pelo usuário.

circle-exclamation

Queremos que nossos usuários estejam totalmente cientes disso ao raspar as seguintes páginas:

Essa abordagem fornece a melhor experiência possível de raspagem, garantindo precisão e confiabilidade dos dados dessas páginas desafiadoras.

Se você desejar desativar a renderização, envie o cabeçalho de renderização sem valor

Atualizado

Isto foi útil?