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.
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? } });
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");
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(); });