from bs4 import BeautifulSoup
import requests
from random import randint
from threading import Thread
from proxy_checking import ProxyChecker
from datetime import datetime
class ProxyManager:
def __init__(self, padet, proxythreading, uid, proxyfiyat, proxyparabirimi):
self.threading(proxythreading, padet, uid, proxyfiyat, proxyparabirimi)
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
def proxycreating(self, padet, threadsayi, uid, proxyfiyat, proxyparabirimi):
proxy_filename = f"proxies_{uid}.txt"
while True:
count = int(padet)
for i in range(1, count + 1):
try:
proxy = self.GetProxy()
checker = ProxyChecker()
r = checker.check_proxy(f'http://{proxy}')
print(r['status'])
if r['status'] == True:
print(f"{i}. Thread: {threadsayi} Uid : {uid} Proxy : {proxy}")
self.save_to_file(proxy_filename, proxy)
else:
print(f"Thread: {threadsayi} uid : {uid} Proxy : {proxy} HATALI!")
except:
print(f"Thread: {threadsayi} uid : {uid} Proxy : {proxy} HATALI!")
def threading(self, pthreading, padet, uid, proxyfiyat, proxyparabirimi):
for i in range(1, int(pthreading) + 1):
t1 = Thread(target=self.proxycreating, args=(padet, i, uid, proxyfiyat, proxyparabirimi))
t1.start()
def save_to_file(self, filename, proxy):
with open(filename, 'a') as file:
file.write(proxy + '\n')
ProxyManager(padet=200, proxythreading=5, uid=2, proxyfiyat=2, proxyparabirimi='USD') Python ile proxy çekimi ve checker ( ÜCRETSİZ )
2
●316
- 16-08-2023, 17:58:30