Kokas berbilang URL dengan PyQt QWebPage
QWebPage PyQt menyediakan cara untuk memaparkan halaman web, menjadikannya sesuai untuk kandungan yang dimuatkan secara dinamik. Walau bagaimanapun, percubaan berbilang pemaparan mungkin mengakibatkan ranap sistem atau tingkah laku yang tidak dijangka.
Pengenalpastian Masalah
Isu dalam kod yang disediakan berpunca daripada penciptaan berbilang QApplications dan QWebPages untuk setiap Pengambilan URL. Sebaliknya, satu contoh setiap satu harus digunakan, dengan Halaman Web bergantung pada isyarat loadFinished untuk mencetuskan pemprosesan dalaman URL berikutnya.
Penyelesaian
Alamat penambahbaikan berikut masalahnya:
Penggunaan
Kod contoh yang menunjukkan cara menggunakan Halaman Web yang dipertingkatkan:
def my_html_processor(html, url): print('loaded: [%d chars] %s' % (len(html), url)) import sys app = QApplication(sys.argv) webpage = WebPage(verbose=False) webpage.htmlReady.connect(my_html_processor) # example 1: process list of urls urls = ['https://en.wikipedia.org/wiki/Special:Random'] * 3 print('Processing list of urls...') webpage.process(urls) # example 2: process one url continuously import signal, itertools signal.signal(signal.SIGINT, signal.SIG_DFL) print('Processing url continuously...') print('Press Ctrl+C to quit') url = 'https://en.wikipedia.org/wiki/Special:Random' webpage.process(itertools.repeat(url)) sys.exit(app.exec_())
Rujukan
Atas ialah kandungan terperinci Bagaimana untuk Mengikis Berbilang URL dengan Cekap Menggunakan PyQt QWebPage?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!