PIL - есть ли какие-либо решения PIL, которые позволят вам сделать скриншот указанной веб-страницы? - PullRequest
1 голос
/ 30 сентября 2011

Есть ли способ сделать снимок экрана, используя PIL указанной страницы HTML / Javascript, которая находится на моем сервере?

Я хочу написать скрипт, который изменит некоторые параметры на этой странице HTML и затемPIL сделать скриншоты из этого.

Есть идеи?Примеры будут по-настоящему оценены.

1 Ответ

2 голосов
/ 30 сентября 2011

Вы обязательно должны использовать PIL? Если нет, вы можете получить то, что хотите, используя PyQT со встроенным элементом управления Webkit.

См. http://notes.alexdong.com/xhtml-to-pdf-using-pyqt4-webkit-and-headless для примера, который преобразует html + css в PDF без использования отдельного браузера. Код довольно короткий, поэтому я скопировал его ниже.

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *

app = QApplication(sys.argv)

web = QWebView()
web.load(QUrl("http://www.google.com"))
#web.show()

printer = QPrinter()
printer.setPageSize(QPrinter.A4)
printer.setOutputFormat(QPrinter.PdfFormat)
printer.setOutputFileName("file.pdf")

def convertIt():
    web.print_(printer)
    print "Pdf generated"
    QApplication.exit()

QObject.connect(web, SIGNAL("loadFinished(bool)"), convertIt)

sys.exit(app.exec_())
...