Ferramentas para capturar e converter a Web

Como criar capturas ainda mais rápido!

Capturas mais rápidas

É difícil dizer quanto tempo levará para criar uma captura, pois nem todo o tempo é realmente usado para renderizar a captura. Por exemplo, também é necessário algum tempo para carregar o site ou HTML de destino. Para acelerar a renderização da captura de tela, primeiro verifique se você não está usando um atraso ao gerar capturas de tela.

A especificação de um atraso não apenas aumentará o tempo necessário para criar a captura, mas também poderá afetar a prioridade da captura, no caso improvável de uma fila. Felizmente existem maneiras de contornar isso.

Próxima verificação, o que método de recuperação você está usando para ser notificado de que sua captura foi concluída? O método síncrono, SaveTo é muito mais lento do que o método assíncrono Save. Enquanto o SaveTo O método deve pesquisar o GrabzIt a cada três segundos para determinar se uma captura de tela foi concluída, enquanto o método assíncrono chamará seu URL de retorno de chamada assim que a captura de tela estiver pronta.

Outras técnicas que podem melhorar o tempo de captura incluem:

  1. Bloqueio de anúncios, isso reduz em 50% o tempo necessário para capturar algumas páginas da web.
  2. Se você estiver tentando capturar um site hospedado em uma parte específica do mundo, especifique um país perto desse local.
  3. Se você está tentando capturar sites hospedados em todo o mundo, use o exclusivo GrabzIt Recurso de segmentação geográfica.
  4. Se você estiver convertendo HTML into Documentos de imagem, PDF ou DOCX tente incorporar quaisquer imagens referenciadas (como URIs de dados), scripts e arquivos CSS diretamente into HTML. Isso reduzirá o número de recursos que precisam ser carregados antes que o HTML possa ser convertido. Além disso, se você puder remover qualquer HTML redundante que não precise aparecer na saída, como elementos HTML ocultos e comentários. Pois isso reduzirá o tempo necessário para converter o HTML.
  5. Se você é criando capturas HD, certifique-se de não definir os parâmetros de largura e altura da imagem para algo diferente de -1. Como isso reduziria novamente a imagem HD, seria contraproducente e demorado.
  6. utilização local or procuradores globais adiciona saltos extras into a transmissão da rede. Use proxies apenas se for necessário.
  7. Avoid exporting a capture to third-party storage, such as FTP, Dropbox or S3. As this adds an extra delay before the capture is returned to you.

Outro problema pode ser o tempo que leva para baixar uma captura de tela. Primeiro verifique o tamanho das capturas que você está produzindo. Se forem arquivos grandes, você pode tentar melhorar o tempo de download executando um ou mais dos seguintes procedimentos:

  1. Reduza o tamanho da imagem alterando a largura e a altura da saída.
  2. Reduza o qualidade da captura.
  3. Use um formato de imagem mais compactado, como PNG.

Finalmente, se você controla a página que está fazendo uma captura de tela, tente otimizá-la. Isso exigirá alguns testes de sua parte, mas pode save você vários segundos. Algumas coisas para tentar incluem compactar imagens, scripts e CSS ou até mesmo incorporar recursos diretamente into o HTML da página da web. Isso evita solicitações separadas ao gerar a captura da web.

Melhorias específicas da API JavaScript

Embora muitas das otimizações acima possam ser implementadas ao usar a API JavaScript, como o JavaScript é executado no navegador e não no servidor, há uma série de otimizações potenciais e problemas exclusivos dele.

Considere usar o preconnect técnica. Isso garantirá que a resolução DNS e qualquer handshake SSL necessário sejam concluídos antes da primeira chamada para a API do GrabzIt. Para fazer isso adicione o seguinte código ao HEAD tag da página HTML onde o GrabzIt está sendo usado.

<link rel="preconnect" href="https://api.grabz.it" crossorigin>
<link rel="preconnect" href="https://grabz.it" crossorigin>

Observe que se o seu site for HTTP apenas, você precisará alterar os URLs acima para usar http e não https.

Se você estiver usando JavaScript Método DataURI isso adicionará uma sobrecarga extra em comparação com as APIs do lado do servidor, pois o JavaScript precisa ler uma imagem como bytes e convertê-la em um URI de dados.