Herramientas para capturar y convertir la web

Funciones de captura de pantalla avanzadas con Python

API de Python

API GrabzIt Python tiene muchas características avanzadas que incluyen habilitar aplicaciones para verificar el estado de las capturas de pantalla existentes y permitir que su aplicación establezca las cookies que GrabzIt utilizará.

Estado de captura de pantalla

Para que una aplicación verifique el estado de una captura de pantalla, use el método GetStatus. Esto devuelve un objeto de estado que indica si una captura aún se está procesando, tiene un mensaje de error, está en caché o ha expirado.

from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

status = grabzIt.GetStatus(screenShotId)

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?
    raise Exception(status.Message)

Cookies

Muchos sitios web controlan la funcionalidad de la página web a través de cookies. GrabzIt le permite configurar sus propias cookies definidas por el desarrollador de la siguiente manera.

from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

# gets an array of cookies for google.com
cookies = grabzIt.GetCookies("google.com")

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

# deletes the previously set cookie
grabzIt.DeleteCookie("MyCookie", "google.com")

Si bien esta es una buena descripción de la funcionalidad de las cookies, los métodos de cookies tienen más parámetros como se explica en el documentación del cliente.

Mostrar una captura sin descargar

Si bien se recomienda descargar una captura a un servidor web antes de usarla. 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 SaveTo Método a la respuesta junto con el tipo mimo correcto.

from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

grabzIt.URLToImage("https://www.tesla.com")
capture = grabzIt.SaveTo()

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.