2011-09-30 57 views
1

有沒有辦法使用駐留在我的服務器上的指定HTML/Javascript頁面的PIL進行屏幕截圖?PIL - 是否有任何PIL解決方案可讓您截取指定的網頁?

我想編寫一個腳本來改變HTML頁面上的一些參數,然後讓PIL截取它。

任何想法?例子將被真正讚賞。

+1

請參閱http://www.pythonware.com/library/pil/handbook/imagegrab.htm。僅適用於Windows。所以你要在服務器上運行瀏覽器? –

+0

@Steven Rumbalski我在想更多的是指定一個HTML頁面的路徑,然後在不使用瀏覽器的情況下截取該頁面。我可能會問得太多,但我認爲我需要的是值得問的。我只使用Linux,所以Windows不適合我。但是,謝謝你的建議。 – avatar

+1

爲什麼截圖?爲什麼不保存文本文件? –

回答

2

你絕對要用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_()) 
+0

我不必使用PIL,但我更喜歡PIL,因爲我已經在我的項目中使用它了。 – avatar

相關問題