Captura de tela rápida de sites específicos

3

Eu tenho um site onde tenho que fazer capturas de tela semanais de sites irmãos. Eu queria saber como isso talvez seja feito. Eu tinha obtido o código para tirar fotos da tela, mas não tenho idéia de como abrir o navegador em um determinado momento para que as capturas de tela do site sejam tomadas. Eu entendi que eu tinha que usar o crontab para agendar minhas tarefas, mas como abrir o navegador?

Meu script para fazer capturas de tela é o seguinte

import gtk.gdk

w = gtk.gdk.get_default_root_window()
sz = w.get_size()
#print "The size of the window is %d x %d" % sz
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
pb = pb.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])
if (pb != None):
    pb.save("screenshot.png","png")
 #   print "Screenshot saved to screenshot.png."
else:
 #   print "Unable to get the screenshot."

Alguma ideia de como abrir o navegador através de um script python?

Estou aberto a sugestões se este não for o jeito certo de implementar minha ideia.

    
por Shyam K 16.05.2012 / 13:09

2 respostas

4

Bem, acontece que eu encontrei a resposta para a minha pergunta. : D

#!/usr/bin/python
import webbrowser
webbrowser.open("http://www.google.com")

Isso é tudo o que é preciso em um script python para abrir o google usando python. Felicidades. : D

    
por Shyam K 17.05.2012 / 05:22
1

Você pode usar um serviço de terceiros que faz tudo para você. GrabzIt é um exemplo. Primeiro você solicita que um URL seja transformado em uma captura de tela.

import GrabzItClient

#Create the GrabzItClient class
#Replace "APPLICATION KEY", "APPLICATION SECRET" with the values from your account!
grabzIt = GrabzItClient.GrabzItClient("APPLICATION KEY", "APPLICATION SECRET")
#Take the picture the method will return the unique identifier assigned to this task
id = grabzIt.TakePicture("http://www.google.com", "http://www.example.com/GrabzItHandler.py")

Depois, você pode baixar a imagem e salvá-la de onde quiser.

#Wait for a while

result = grabzIt.GetPicture(id)

if result != None:
    #Ensure that the application has the correct rights for this directory.
    fo = open("images" + os.sep + filename, "wb")
    fo.write(result)
    fo.close()

Você pode encontrar mais informações na API do Python .

    
por Ralph Jones 29.05.2012 / 12:23