ループを作成しようとしていますが、loadFinishedシグナルを待機していません。
if __name__ == "__main__":
app = QApplication(sys.argv)
for line in open('proxy_list_test.txt', 'r').readlines():
network_data = line.split(':')
ip = network_data[0]
port = network_data[1]
print "Connecting with ip: %s port: %s"%(ip,port)
br = Browser(ip, port)
url = QUrl('http://example web site.com/')
br.load(url)
br.show()
print "Closing"
app.exec_()
ご覧のとおり、いくつかの異なるIPアドレスを使用してサンプルWebサイトを読み込もうとしています。Browser()から、彼らはNetworkAccessManagerに渡されました。
proxy = QNetworkProxy(QNetworkProxy.HttpProxy, self.ip, self.port)
self.setProxy(proxy)
問題は、ファイルにIPアドレスが1つしかない場合、正常に機能することです。ただし、それらが2つある場合は、コンソールでの出力が無効になるよりも、forループを通過し、Browser()クラスでFinishedが読み込まれるまで待機しません。
Connecting with ip: some_ip port: some_port
10%
Closing
Connecting with ip: some_ip port: some_port
10%
Closing
Connecting with ip: some_ip port: some_port
10%
Closing
Done
100%
loadFinishedとloadProgressSIGNALSは次のように単純です。
def _progress(self, progress):
print str(progress) + "%"
def _loadFinished(self):
print "Done"