PyQt-Klasse funktioniert nicht für die zweite Verwendung

Ich verwende PyQt, um eine Seite (einschließlich JS) vollständig zu laden und sie mit Beautiful Soup zu erhalten. Funktioniert gut bei der ersten Iteration, aber danach stürzt es ab. Ich habe keine großen Kenntnisse in Python und noch weniger in PyQt, daher ist jede Hilfe sehr willkommen.

Klasse ausgeliehen vonHier.

from PyQt4.QtCore import QUrl, SIGNAL
from PyQt4.QtGui import QApplication
from PyQt4.QtWebKit import QWebPage

from bs4 import BeautifulSoup
from bs4.dammit import UnicodeDammit
import sys
import signal


class Render(QWebPage):
    def __init__(self, url):
        self.app = QApplication(sys.argv)
        QWebPage.__init__(self)
        self.html = None
        signal.signal(signal.SIGINT, signal.SIG_DFL)
        self.connect(self, SIGNAL('loadFinished(bool)'), self._finished_loading)
        self.mainFrame().load(QUrl(url))
        self.app.exec_()

    def _finished_loading(self, result):
        self.html = self.mainFrame().toHtml()
        self.soup = BeautifulSoup(UnicodeDammit(self.html).unicode_markup)
        self.app.quit() 

###################################################################


l = ["http://www.google.com/?q=a", "http://www.google.com/?q=b", "http://www.google.com/?q=c"]

for page in l:
    soup = Render(page).soup
    print("# soup done: " + page)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage