У меня есть веб-сайт, где я должен взять еженедельные снимки экрана родственных сайтов. Я задавался вопросом как это, возможно, сделанное. Я получил код для взятия снимков экрана, но понятия не имею, как открыть браузер в определенное время набора так, чтобы снимки экрана веб-сайта, возможно, взятые. Я понял, что должен был использовать crontab для планирования моих задач, но как открыть браузер?
Мой сценарий для взятия снимков экрана следующие
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."
Какая-либо идея, как к открыть браузер с помощью сценария Python?
Я открыт для предложений, если это не правильный способ реализовать мою идею.
Ну, так получилось, что я нашел ответ на свой вопрос. : D
#!/usr/bin/python
import webbrowser
webbrowser.open("http://www.google.com")
Вот и все, что нужно в скрипте Python, чтобы открыть Google с помощью Python. Приветствия. : D
Вы можете использовать стороннюю службу, которая сделает все за вас. GrabzIt является одним из примеров. Сначала вы запрашиваете, что URL-адрес превращается в снимок экрана следующим образом.
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")
Затем вы можете скачать изображение и сохранить его там, где вам нравится.
#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()
Вы можете найти больше информации в своем Python API .