Hallo liebe Community,
Ich wollte mit PyQt eine Oberfläche Implementieren, die mehre Websites mit unterschiedlichen Proxys pro Laufzeit aufruft, und anzeigt.
Das soll dann ungefähr so aussehen:
, nur, dass beim 2. Fenster eine andere Proxyaddresse stehen sollte. Hier ist mein Code:
import json
import random
import threading
import time
from typing import *
import requests
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import requests, re
from PyQt5.QtWebEngineWidgets import *
import PyQt5.QtNetwork
import PyQt5.QtWidgets
def refresh_browser():
time.sleep(10)
host, port, ct = random.choice(proxylist)
print(host, port, ct)
PyQt5.QtNetwork.QNetworkProxy.setApplicationProxy(
PyQt5.QtNetwork.QNetworkProxy(PyQt5.QtNetwork.QNetworkProxy.Socks5Proxy, host, port))
window.refresh.click()
proxylist = [(a, b, c) for a, b, c in json.load(open("proxies.txt")) if c == "DE"]
available_proxiy_protocols = {"socks5":PyQt5.QtNetwork.QNetworkProxy.Socks5Proxy, "http":PyQt5.QtNetwork.QNetworkProxy.HttpProxy}
class Browser(QMainWindow):
def __init__(self, url, proxylist: List):
super(Browser, self).__init__()
self.window = QWidget()
self.layout = QVBoxLayout()
self.horizontal = QHBoxLayout()
self.browsers = []
self.c = 0
self.current_url = url
self.button = QPushButton()
self.button.clicked.connect(lambda: self.navigate(self.current_url))
self.refresh = PyQt5.QtWidgets.QPushButton()
self.refresh.clicked.connect(lambda: self.refr(self.current_url))
for proxy in proxylist:
#HIER MUSS ETWAS GEÄNDERT WERDEN
self.browser = QWebEngineView()
self.layout.addLayout(self.horizontal)
self.layout.addWidget(self.browser)
self.browser.setUrl(QUrl(self.current_url))
self.browsers.append(self.browser)
self.window.setLayout(self.layout)
self.window.show()
def navigate(self, url): self.browser.setUrl(QUrl(url))
def refr(self, url):
for br in self.browsers:
br.setUrl(QUrl(url))
host, port, ct = random.choice(proxylist)
print(host, port, ct)
#PyQt5.QtNetwork.QNetworkProxy.setApplicationProxy(PyQt5.QtNetwork.QNetworkProxy(PyQt5.QtNetwork.QNetworkProxy.Socks5Proxy, host, port))
app = QApplication([])
proxys = [("104.255.170.63", 60757), ("103.241.227.114", 6667)]
ip = "https://httpbin.org/ip"
PyQt5.QtNetwork.QNetworkProxy.setApplicationProxy(PyQt5.QtNetwork.QNetworkProxy(PyQt5.QtNetwork.QNetworkProxy.Socks5Proxy, proxys[0][0], proxys[0][1]))
print(proxys)
window = Browser(ip, proxys)
app.exec()
Kann mir jemand helfen, uns mir sagen, wie ich nach jederm Browserfenster, das erstellt wird, einen anderen Proxy setzen kann?
Vielen Dank Im Voraus
LG Lukas Zander