Ferramentas para capturar e converter a Web

Recursos avançados de captura de tela com Python

API Python

API GrabzIt Python possui muitos recursos avançados, incluindo a habilitação de aplicativos para verificar o status das capturas de tela existentes e a configuração dos cookies que o GrabzIt usará para serem definidos pelo aplicativo.

Status da captura de tela

Para um aplicativo verificar o status de uma captura de tela, use o método GetStatus. Isso retorna um objeto de status que indica se uma captura ainda está em processamento, tem uma mensagem de erro, está em cache ou expirou.

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

Muitos sites controlam a funcionalidade da página da web por meio de cookies. O GrabzIt permite que você defina seus próprios cookies definidos pelo desenvolvedor da seguinte maneira.

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")

Embora essa seja uma boa visão geral da funcionalidade do cookie, os métodos de cookie têm mais parâmetros, conforme explicado no documentação do cliente.

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 pelo SaveTo método para a resposta junto com o tipo mime correto.

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

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