proxies pkg yaptım ve içinde şunlar var
init.py
from .views import *
views.py
import requests
import http.client
import ssl
import urllib3.exceptions
from io import open
from requests import exceptions
from bs4 import BeautifulSoup
from datetime import datetime
import datetime
from random import randint
import proxies
proxiestlst = []
class proxy():
def __init__(self,sonsayi):
count = 0
for i in range(100000000):
if count == int(sonsayi):
# Aşağıdaki gibi gui.py de bulunan textentry2 ye aktarmaya çalışıyorum olmuyor
# Yardımcı Olurmusunuz?
self.textentry2.insert(END,f"Belirlenen sayı : {sonsayi} kadar ip adres çekilmiştir.")
break
else:
print(str(count))
proxy = self.GetProxy()
try:
proxyies = {"http": f"http://username:password@{proxy}",
"https": f"http://username:password@{proxy}"}
url = 'https://www.google.com/'
r = requests.get(url, proxies=proxyies , timeout=(3.05,1000))
if r.status_code == 200:
self.onay = 1
now = datetime.datetime.utcnow()
if proxy in proxiestlst:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} Sistemde Mevcuttur.")
print(
"=============================================================================================================================================")
else:
print(
f" {i} | {now.strftime('%Y-%m-%d %H:%M:%S')} | Proxy Bağlanabilirlik Durumu : Başarılı | {self.onay} | {proxy}")
proxiestlst.append((proxy,now.strftime('%Y-%m-%d'),now.strftime('%H:%M:%S')))
count += 1
else:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} Proxy Hatalı.")
print(
"=============================================================================================================================================")
except ssl.SSLCertVerificationError:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} SSL Hatası Mevcuttur.")
print(
"=============================================================================================================================================")
continue
except http.client.RemoteDisconnected:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} Bağlı Ana Makine Reddeti.")
print(
"=============================================================================================================================================")
continue
except urllib3.exceptions.ConnectTimeoutError:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} Zaman Aşımına Uğradı.")
print(
"=============================================================================================================================================")
continue
except urllib3.exceptions.MaxRetryError:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} Bağlantı Sorunu Oluştu.")
print(
"=============================================================================================================================================")
continue
except requests.exceptions.ConnectionError:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} Bağlantı Sorunu Oluştu.")
print(
"=============================================================================================================================================")
continue
except exceptions.ConnectTimeout:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} Zaman Aşımına Uğradı.")
print(
"=============================================================================================================================================")
continue
except exceptions.ProxyError:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} Proxy Hatalı.")
print(
"=============================================================================================================================================")
continue
except exceptions.SSLError:
print(
"=============================================================================================================================================")
print(f"{i} - Proxy : {proxy} SSL Hatası Mevcuttur.")
print(
"=============================================================================================================================================")
continue
def GetProxy(self, ):
url = 'https://free-proxy-list.net/'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
div = soup.find('div', class_='table-responsive')
tbody = div.find("tbody")
proxies = tbody.find_all("tr")
proxy = proxies[randint(0, len(proxies) - 1)]
proxy_ip = proxy.find_all("td")[0].get_text()
proxy_port = proxy.find_all("td")[1].get_text()
return proxy_ip + ":" + proxy_port
ve ana klosörde gui.py dosyam bulunmakta
from tkinter import *
from urllib3 import exceptions
import requests
import http.client
import ssl
import mysql.connector
import proxies
class Uygulama():
def __init__(self):
self.veritabani()
self.pencere = Tk()
self.pencere.title("BCVC BOT")
self.pencere.config(bg="black")
self.pencere.geometry("1300x680+25+0")
frame1 = Frame(self.pencere, width=700, height=100, bg="white", bd=1)
adet = Label(frame1, text="Kaç Adet Proxy Toplansın : ", bg="white", fg="black", bd=1,
font=("Ubuntu", 12, "bold"))
adet.place(x=5, y=5)
self.adetentry = Entry(frame1, bg="black", fg="white", width=6, bd=1, font=("Ubuntu", 12, "bold"))
self.adetentry.place(x=220, y=5)
btn = Button(frame1, text="Proxy Oluştur", bg="black", fg="white", bd=1, font=("Ubuntu", 12, "bold"),
command=lambda: self.proxycek())
btn.place(x=165, y=35)
frame1.place(x=5, y=5)
frame2 = Frame(self.pencere, width=700, height=565, bg="white")
self.textentry = Text(frame2, bg="black", fg="green", font=("Ubuntu", 12, "bold"), height=29, width=76)
self.textentry2 = Text(frame2, bg="black", fg="green", font=("Ubuntu", 12, "bold"), height=29, width=76) # Bunun içine proxies.views deki bildirimleri yazdırmak amacım
self.textentry2.place(x=5, y=5)
frame2.place(x=5, y=110)
self.pencere.mainloop()
def proxycek(self):
adetsayi = self.adetentry.get()
scrollbar = Scrollbar(self.pencere)
scrollbar.pack(side=RIGHT, fill=BOTH)
proxies.proxy(adetsayi)
self.textentry.place(x=5, y=5)
self.textentry.insert(END," No - Tarih - Saat - İp \n")
self.pencere.update()
proxieslstadet = len(proxies.proxiestlst)
for i in range(proxieslstadet):
proxyip = proxies.proxiestlst[i][0]
proxydate = proxies.proxiestlst[i][1]
proxytime = proxies.proxiestlst[i][2]
sql = "INSERT INTO bcvc (proxyadress, proxyregisterdate, proxyregistertime) VALUES (%s,%s,%s)"
self.database.execute(sql, (proxyip, proxydate, proxytime))
self.db.commit()
self.textentry.insert(END, f' {str(i)} - {str(proxydate)} - {str(proxytime)} - {str(proxyip)} \n')
self.pencere.update()
self.textentry.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=self.textentry.yview)
def veritabani(self):
self.db = mysql.connector.connect(
host="urllib.request.localhost",
user="barron4335",
password="1968_Hram",
database="bcvcbots"
)
self.database = self.db.cursor(dictionary=True)
if __name__ == '__main__':
Uygulama()
Sorum şu gui.py de bulunan self.textenry2 içine proxies.views modülde bulunan bildirimleri aktarmak istiyorum nasıl yapabilirim bir türlü yapamadım yardımcı olur musunuz?