有沒有辦法使用駐留在我的服務器上的指定HTML/Javascript頁面的PIL進行屏幕截圖?PIL - 是否有任何PIL解決方案可讓您截取指定的網頁?
我想編寫一個腳本來改變HTML頁面上的一些參數,然後讓PIL截取它。
任何想法?例子將被真正讚賞。
有沒有辦法使用駐留在我的服務器上的指定HTML/Javascript頁面的PIL進行屏幕截圖?PIL - 是否有任何PIL解決方案可讓您截取指定的網頁?
我想編寫一個腳本來改變HTML頁面上的一些參數,然後讓PIL截取它。
任何想法?例子將被真正讚賞。
你絕對要用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_())
我不必使用PIL,但我更喜歡PIL,因爲我已經在我的項目中使用它了。 – avatar
請參閱http://www.pythonware.com/library/pil/handbook/imagegrab.htm。僅適用於Windows。所以你要在服務器上運行瀏覽器? –
@Steven Rumbalski我在想更多的是指定一個HTML頁面的路徑,然後在不使用瀏覽器的情況下截取該頁面。我可能會問得太多,但我認爲我需要的是值得問的。我只使用Linux,所以Windows不適合我。但是,謝謝你的建議。 – avatar
爲什麼截圖?爲什麼不保存文本文件? –