我已經設法使用建議的代碼,以便從網頁呈現HTML,然後解析,查找並使用所需的文本。我正在使用PyQt4。但是,我感興趣的網頁經常更新,我想重新渲染頁面並檢查更新的HTML以獲取新信息。我如何重新渲染HTML PyQt4
因此,我在我的pythonscript中有一個循環,這樣我就可以重新開始。但是,這會導致程序崩潰。我搜查了網絡,發現這是可以預料的,但我沒有找到任何關於如何正確執行的建議。這一定很簡單,我猜?
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtWebKit import *
class Render (QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
r = Render(url)
html = r.frame.toHtml()
S,o當我第二次點擊r=Render(url)
時,它崩潰了。 S,o我正在尋找類似r = Rerender(url)
的東西。你可能會猜到,我並不是一個程序員,我通常會通過竊取我幾乎不瞭解的代碼來獲取。但這是我第一次找不到答案,所以我想我應該自己提出一個問題。
我希望我的問題很清楚,並且有人有答案。
的[PyQt的類沒有第二個使用工作]可能的複製(http://stackoverflow.com/questions/21909907/pyqt-class-not-用於第二次使用) – ekhumoro
感謝您的建議。這是我閱讀的帖子之一,並沒有想到它會幫助我。我會再仔細看看,如果它確實不能解決我的問題,我將解釋爲什麼 – Pal
建議的解決方案是處理如何呈現列表中指定的幾個不同的網頁。這可能會工作,如果我做一個長列表多次指定相同的網址,但似乎並不是一個有效的解決方案。我不是一個足夠熟練的程序員,不知道如何根據需要修改代碼。我的希望是,其他人真的做到了這一點,因爲我認爲這不是一個非常規的功能。我會繼續環顧四周,看看我是否找到答案,如果我找到答案,會在這裏發帖 – Pal