- 11 Kas 2022
- 30
- 9
Öncelikle merhabalar ben forumda yeniyim ama pythonda kendimi geliştirmek için zamanla yaptığım programın kodunu sizinle paylaşmak ve düşüncelerinizi almak isterim.
requirements.txt
Programın Ham Kodlarım
requirements.txt
anaprogram.pyselenium
bs4
requests
proxy_manager_g4
# /usr/bin/env Python
# -*-coding:utf-8-*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from threading import Thread
from io import open
import time
import datetime
from datetime import date
import os
import sys
# reload(sys)
# sys.setdefaultencoding("utf-8")
import tkinter as tk
from tkinter import *
from tkinter import ttk
import requests
from bs4 import BeautifulSoup
from random import choice
from random import randint
import requests
from proxy_manager_g4 import ProxyManager
from proxy_manager_g4.consts import PROTOCOL_HTTPS
class App():
def __init__(self):
self.urlList = []
self.proxyList = []
self.openproxyList = []
self.badproxyList = []
self.pencere = Tk()
self.pencere.title("UPFİLES AUTO DOWNLOADER")
self.pencere.geometry("700x500+0+0")
self.pencere.config(bg="#fff")
self.pencere.resizable(False, False)
self.proxyadetsayi = Label(self.pencere, text="Proxy Adet Sayısı Giriniz : ", bg="#fff", fg="black", font=("Ubuntu", 9, "bold"))
self.proxyadetsayi.place(x=5, y=5)
self.proxyadetsayiEntry = Entry(self.pencere, bg="#fff", fg="black", font=("Ubuntu", 9, "bold"))
self.proxyadetsayiEntry.place(x=5, y=30)
self.proxycreatorButton = Button(self.pencere, text="Start Proxy Creator", bg="red", fg="#fff", activebackground="black", activeforeground="#fff", font=("Ubuntu", 9, "bold"), command=lambda: self.proxycreator(self.proxyadetsayiEntry.get()))
self.proxycreatorButton.place(x=5, y=58)
self.kactekrarsayi = Label(self.pencere, text="Kaç Defa Tekrar Etsin : ", bg="#fff", fg="black", font=("Ubuntu", 9, "bold"))
self.kactekrarsayi.place(x=5, y=95)
self.kactekrarsayiEntry = Entry(self.pencere, bg="#fff", fg="black", font=("Ubuntu", 9, "bold"))
self.kactekrarsayiEntry.place(x=5, y=118)
self.kactekrarsayi1 = Label(self.pencere, text="Kaç Pencere'de Çalışsın : ", bg="#fff", fg="black",
font=("Ubuntu", 9, "bold"))
self.kactekrarsayi1.place(x=5, y=150)
self.kactekrarsayiEntry1 = Entry(self.pencere, bg="#fff", fg="black", font=("Ubuntu", 9, "bold"))
self.kactekrarsayiEntry1.place(x=5, y=170)
self.linktext = Label(self.pencere, text="Linklerinizi Giriniz : ", bg="#fff", fg="black",
font=("Ubuntu", 9, "bold"))
self.linktext.place(x=162, y=5)
self.linktextFrame = Frame(self.pencere, highlightthickness=2, bg="#fff")
self.linktextFrame.config(highlightcolor="#fff", highlightbackground="red", width=460, height=370)
self.linktextScrollbar = Scrollbar(self.linktextFrame)
self.linktextScrollbar.pack(side=RIGHT, fill=Y)
self.linktextHScrollbar = Scrollbar(self.linktextFrame, orient='horizontal')
self.linktextHScrollbar.pack(side=BOTTOM, fill=X)
self.linktextEditor = Text(self.linktextFrame, width=39, height=8, bg="#fff", fg="black", font=("Ubuntu", 9 ,"bold"), yscrollcommand=self.linktextScrollbar.set, wrap="none", xscrollcommand=self.linktextHScrollbar.set)
self.linktextEditor.pack(side=RIGHT, padx=5)
self.linktextScrollbar.config(command=self.linktextEditor.yview)
self.linktextHScrollbar.config(command=self.linktextEditor.xview)
self.linktextFrame.place(x=162, y=30)
self.addlinks = Button(self.pencere, text="Start Link to Add List", bg="red", fg="#fff",
activebackground="black", activeforeground="#fff", font=("Ubuntu", 9, "bold"),
command=lambda: self.startaddlink(self.linktextEditor.get("1.0",'end-1c')))
self.addlinks.place(x=162, y=180)
container1 = Frame(self.pencere, width=200, height=520, highlightthickness=2)
container1.config(highlightcolor="#fff", highlightbackground="red")
canvas1 = Canvas(container1, bg="#fff", width=286, height=267)
scrollbar1 = Scrollbar(container1, orient="vertical", command=canvas1.yview)
self.scrollable_frame1 = Frame(canvas1, bg="#fff")
self.scrollable_frame1.bind(
"<Configure>",
lambda e: canvas.configure(
scrollregion=canvas.bbox("all")
)
)
canvas1.create_window((0, 0), window=self.scrollable_frame1, anchor="nw")
canvas1.configure(yscrollcommand=scrollbar1.set)
# İçerik
# for i in range(50):
# ttk.Label(scrollable_frame1, text="Sample scrolling label").pack()
container1.place(x=162, y=214)
canvas1.pack(side="left", fill="both", expand=True)
scrollbar1.pack(side="right", fill="y")
self.psonuc = Label(self.pencere, text="Proxy Sonuçları : ", bg="#fff", fg="black",
font=("Ubuntu", 9, "bold"))
self.psonuc.place(x=475, y=5)
container = Frame(self.pencere, width=200, height=520, highlightthickness=2)
container.config(highlightcolor="#fff", highlightbackground="red")
canvas = Canvas(container, bg="#fff", width=200, height=420)
scrollbar = Scrollbar(container, orient="vertical", command=canvas.yview)
self.scrollable_frame = Frame(canvas, bg="#fff")
self.scrollable_frame.bind(
"<Configure>",
lambda e: canvas.configure(
scrollregion=canvas.bbox("all")
)
)
canvas.create_window((0, 0), window=self.scrollable_frame, anchor="nw")
canvas.configure(yscrollcommand=scrollbar.set)
# İçerik
# for i in range(50):
# ttk.Label(scrollable_frame, text="Sample scrolling label").pack()
container.place(x=475, y=30)
canvas.pack(side="left", fill="both", expand=True)
scrollbar.pack(side="right", fill="y")
self.botbaslat = Button(self.pencere, text="Start Auto Downloaders", bg="red", fg="#fff", activebackground="black", activeforeground="#fff", font=("Ubuntu", 9, "bold"), command=lambda: self.startbotsthread(self.kactekrarsayiEntry.get(), self.kactekrarsayiEntry1.get()))
self.botbaslat.place(x=475, y=460)
self.pencere.mainloop()
def GetProxy(self):
# url = 'SSL Proxy List | HTTPS Proxy List - Free Proxy List'
# r = requests.get(url)
# soup = BeautifulSoup(r.content, 'html5lib')
# return choice(list(map(lambda x: x[0] + ':' + x[1], list(zip(list(map(lambda x: x.text, soup.find_all('td')[::8])),
# (map(lambda x: x.text, soup.find_all('td')[1::8])))))))
url = 'Free Proxy List - Just Checked Proxy List'
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
def proxycreator(self, padetsayi):
if padetsayi:
i = 1
pasayi = int(padetsayi)
while i <= pasayi:
padress = self.GetProxy()
if padress in self.proxyList:
print("Liste'ye daha önce eklenmiştir.")
i -= 1
else:
self.proxyList.append(padress)
i += 1
self.pencere.update()
self.proxylists()
else:
print("Lütfen sayı giriniz.")
def proxylists(self):
for ip in range(1, len(self.proxyList)):
ips = self.proxyList[ip]
Label(self.scrollable_frame, text=f"{ip}-{ips}", bg="#fff", fg="black", font=("Ubuntu", 9, "bold")).pack()
self.pencere.update()
def startaddlink(self, urls):
self.urls = urls.split(",")
for url in range (0, len(self.urls)):
url = self.urls if url in self.urlList...p nacizade fikrinizi paylaşırsanız sevinirim.
Programın Ham Kodlarım