Herramientas para capturar y convertir la web

Funciones de captura de pantalla avanzadas con Ruby

API de rubí

Además de la funcionalidad de captura de pantalla estándar API de Ruby de GrabzIt permite a los desarrolladores intEgrate estrechamente con GrabzIt al permitir que su aplicación se enganche into el funcionamiento interno del servicio de GrabzIt, por ejemplo, verificando el estado de las capturas de pantalla existentes y configurando las cookies que GrabzIt usará al capturar contenido web.

Estado de captura de pantalla

Es posible que una aplicación necesite verificar el estado de una captura y esto es donde get_status El método es útil, devuelve un objeto que indica si una captura aún se está procesando, almacenando en caché o ha expirado junto con devolver cualquier mensaje de error asociado con la 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

Casi todos los sitios web controlan la funcionalidad con cookies. Para permitirle alterar las funciones del sitio web de destino, Grabz expone los siguientes métodos de cookies, para obtener más información sobre los parámetros disponibles para estos métodos, lea el documentación del 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")

Mostrar una captura sin descargar

Se recomienda descargar una captura a un servidor web antes de usarla. Sin embargo, es posible mostrar cualquier tipo de captura en el navegador de un usuario sin descargarla primero en su servidor web.

Para hacer esto, una vez que la captura haya finalizado, puede enviar los bytes de la captura devueltos por el save_to Método a la respuesta junto con el tipo mimo correcto.

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();

En el ejemplo anterior, obtenemos los bytes de la captura, pero la forma en que se devuelve a la respuesta dependerá del marco que esté utilizando.