from selenium import webdriver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from win10toast import ToastNotifier
from winotify import Notification, audio
from csv import DictWriter
from tkinter import *
from threading import *
import os
pencere = Tk()
pencere.geometry("400x300")
baslik = pencere.title("Proje")
pencere.deiconify()
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument("--incognito")
#chromeOptions.add_argument("--headless")
driver = webdriver.Chrome(chrome_options=chromeOptions)
def veri_cekme():
i = 1
while i <= 7:
driver.get(f"https://www.teknoker.com/bilgisayar-bilesenleri?fiyat=hepsi&siralama=en-yeniler&pageing=3&list=0&k=&pageing={i}")
driver.delete_all_cookies()
time.sleep(1)
driver.refresh()
time.sleep(1)
with open("urun.csv", "a+", encoding='utf8') as file:
urun = driver.find_elements(By.CLASS_NAME, "card-product-inner")
headers = ["Ürün", "Fiyat"]
for urun_bilgi in urun:
urun_isim = urun_bilgi.find_element(By.CLASS_NAME, "title").text
fiyat = urun_bilgi.find_element(By.CLASS_NAME, "sale-price").text
sayi = fiyat[:-6]
sayi2 = sayi.replace(".", "")
veri = int(sayi2)
ad = urun_isim.replace(",", "")
ad2 = str(ad)
csv_writer = DictWriter(file, headers)
csv_writer.writerow({
"Ürün": ad2,
"Fiyat": veri,
})
#time.sleep(1)
#driver.refresh() uygulama kullanılacağı sıra açılacak
with open("urun2.csv", "a+", encoding='utf8') as file:
urun = driver.find_elements(By.CLASS_NAME, "card-product-inner")
headers = ["Ürün", "Fiyat"]
for urun_bilgi in urun:
urun_isim = urun_bilgi.find_element(By.CLASS_NAME, "title").text
fiyat = urun_bilgi.find_element(By.CLASS_NAME, "sale-price").text
sayi = fiyat[:-6]
sayi2 = sayi.replace(".", "")
veri = int(sayi2)
ad = urun_isim.replace(",", " ")
ad2 = str(ad)
csv_writer = DictWriter(file, headers)
csv_writer.writerow({
"Ürün":ad2,
"Fiyat": veri,
})
i += 1
s1 = {}
s2 = {}
def veri_okuma_kontrol():
with open("urun.csv", encoding='utf8') as f1, open("urun2.csv", encoding='utf8') as f2:
for fiyatlar in f1:
satir2 = fiyatlar.strip()
satir3 = satir2.split(",")
if satir3 == ['']:
del satir3
else:
satir4 = satir3[1]
isim = satir3[0]
veri2 = int(satir4)
s1[isim] = veri2
for fiyatlar2 in f2:
satir2 = fiyatlar2.strip()
satir3 = satir2.split(",")
if satir3 == ['']:
del satir3
else:
satir4 = satir3[1]
isim = satir3[0]
veri3 = int(satir4)
s2[isim] = veri3
b = s1.values()
b2 = list(b)
b3 = s1.keys()
b4 = list(b3)
c = s1.values()
c2 = list(c)
c3 = s1.keys()
c4 = list(c3)
i = 0
while (i < len(b2)):
if c2[i] < b2[i]:
time.sleep(5)
toast = Notification (app_id="Teknoker.com",
title="Sana Mesaj Var!",
msg= b4[i] + " indirimde sakın kaçırma!! "+ str(b2[i]) +" Fiyatından "+ str(c2[i]) +" Fiyatına düştü!",
duration="short")
toast.set_audio(audio.Reminder, loop=False)
toast.add_actions(label="Siteye Git", launch="https://www.teknoker.com")
toast.show()
else:
pass
i += 1
def calistir():
veri_cekme()
veri_okuma_kontrol()
os.remove("urun.csv")
os.remove("urun2.csv")
def durdur():
driver.quit()
def threading():
t1=Thread(target=calistir)
t1.start()
# def threading2():
# t1=Thread(target=durdur)
# t1.start()
dugme1 =Button(text="Programı Çalıştır",width=30,height=1,fg="white",
bg="black",command=threading)
# dugme2 =Button(text="Programı Durdur",width=30,height=1,fg="white",
# bg="black",command=threading2)
dugme3 =Button(text="Pencereyi Kapat",width=30,height=1,fg="white",
bg="black",cursor="X_cursor",command=pencere.quit)
dugme1.pack()
# dugme2.pack()
dugme3.pack()
mainloop()
Merhabalar programımda kodlarımı istediğim zaman durdurup başlatmak istiyorum nasıl yapıcam?