Ferramentas para capturar e converter a Web

Recursos avançados de captura de tela com Node.js

API do Node.js

A API do GrabzIt é muito personalizável. Dois recursos úteis são a capacidade do API GrabzIt Node.js para verificar o status das capturas de tela existentes e personalizar os cookies enviados pelo GrabzIt ao criar capturas de tela e capturar conteúdo.

Status da captura de tela

Para verificar o status de uma captura de tela ou captura, use o get_status método, isso retornará um objeto de status que indica se a captura ainda está sendo processada, está em cache ou expirou.

var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");

client.get_status(screenShotId, function(error, status){
    if (status.processing){
        //screenshot has not yet been processed
    }

    if (status.cached){
        //screenshot is still cached by GrabzIt
    }

    if (status.expired){
        //screenshot is no longer on GrabzIt
        //Perhaps output status message?
    }
});

Cookies

Muitas funcionalidades do site são controladas através de cookies. O GrabzIt permite que você defina seus próprios cookies personalizados usando os métodos de cookie, como mostrado abaixo.

var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");

//gets an array of cookies for google.com
client.get_cookies("google.com", function(error, cookies){
});

//sets a cookie for the google.com domain
client.set_cookie("MyCookie", "google.com", {"value":"Any Value You Like"});

//deletes the previously set cookie
client.delete_cookie("MyCookie", "google.com");

Exibir uma captura sem fazer o download

Embora seja recomendada, uma captura é baixada para um servidor da Web antes de ser usada. É possível exibir qualquer tipo de captura no navegador de um usuário sem fazer o download primeiro no servidor da web.

Para fazer isso, depois que a captura terminar, você poderá enviar os bytes da captura retornados pela função incompleta do save_to método para a resposta junto com o tipo mime correto. Um exemplo disso para o url_to_image O método é mostrado abaixo, mas funcionará com qualquer um dos métodos de conversão.

var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");

client.url_to_image("https://www.tesla.com");
client.save_to(null, function(error, data){
    response.writeHead(200, {"Content-Type":"image/jpeg"});
    response.write(data);
    response.end();
});