Ferramentas para capturar e converter a Web

Recursos avançados de captura de tela com Ruby

API Ruby

Bem como a funcionalidade de captura de tela padrão API Ruby do GrabzIt permite que os desenvolvedores intintegre-se estreitamente com o GrabzIt, permitindo que seu aplicativo seja conectado into funcionamento interno do serviço do GrabzIt, por exemplo, verificando o status das capturas de tela existentes e definindo os cookies que o GrabzIt usará ao capturar conteúdo da Web.

Status da captura de tela

Um aplicativo pode precisar verificar o status de uma captura e este é o caso de get_status é útil, ele retorna um objeto que indica se uma captura ainda está sendo processada, armazenada em cache ou expirou, além de retornar qualquer mensagem de erro associada à captura.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

status = grabzItClient.get_status(screenShotId)

if status.processing
    #screenshot has not yet been processed
end

if status.cached
    #screenshot is still cached by GrabzIt
end

if status.expired
    #screenshot is no longer on GrabzIt
    #Perhaps output status message?
    raise status.message
end

Cookies

Quase todos os sites controlam a funcionalidade com cookies. Para permitir que você altere as funções do site de destino, o GrabzIt expõe os seguintes métodos de cookies. Para obter mais informações sobre os parâmetros disponíveis para esses métodos, leia o documentação do cliente.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

#gets an array of cookies for google.com
cookies = grabzItClient.get_cookies("google.com")

#sets a cookie for the google.com domain
grabzItClient.set_cookie("MyCookie", "google.com", "Any Value You Like")

#deletes the previously set cookie
grabzItClient.delete_cookie("MyCookie", "google.com")

Exibir uma captura sem fazer o download

É recomendável que uma captura seja baixada para um servidor Web antes de ser usada. No entanto, é 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 pelo save_to método para a resposta junto com o tipo mime correto.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

grabzItClient.url_to_image("https://www.tesla.com")	
capture = grabzItClient.save_to();

No exemplo acima, obtemos os bytes da captura, mas como ela é retornada à resposta dependerá da estrutura que você está usando.