2012-11-14 28 views
10

Web sayfası konsolda HTML biçiminde nasıl görüntülenir. QT bir zaman uyumsuz kütüphanesi olduğu içinQWebView kullanarak html nasıl görüntülenir. Python?

import sys 
from PyQt4.QtGui import QApplication 
from PyQt4.QtCore import QUrl 
from PyQt4.QtWebKit import QWebView 

app = QApplication(sys.argv) 
view = QWebView() 
view.load(QUrl('http://example.com') 
# What's next? how to do something like: 
# print view.read() ??? 
# to display something similar to that: 
# <html><head></head><body></body></html> 

cevap

20

, muhtemelen hemen yükü arayarak sonra Web görünümündeki html verilere bakmak için çalışırsanız hemen döndürdüğü için, herhangi bir sonuç olmaz ve tetikleyecek loadFinished sonucu bir kez mevcut. Tabii ki html verisine, yük yüklendikten hemen sonra _result_available yönteminde yaptığım gibi erişmeye çalışabilirsiniz, ancak boş bir sayfa döndürecektir (varsayılan davranış budur).

import sys 
from PyQt4.QtGui import QApplication 
from PyQt4.QtCore import QUrl 
from PyQt4.QtWebKit import QWebView 


class Browser(QWebView): 

    def __init__(self): 
     QWebView.__init__(self) 
     self.loadFinished.connect(self._result_available) 

    def _result_available(self, ok): 
     frame = self.page().mainFrame() 
     print unicode(frame.toHtml()).encode('utf-8') 

if __name__ == '__main__': 
    app = QApplication(sys.argv) 
    view = Browser() 
    view.load(QUrl('http://www.google.com')) 
    app.exec_() 
+1

Çok teşekkür ederim! Örnegin sadece harika! – Vor

+1

Rica ederim. – andrean

+0

Teşekkürler, ama çalıştırdığımda bu _result_available() asla aranmaz, ancak __init __ (self) yapar. – andyabel

İlgili konular