busra_ulukaya
Femtopat
- Katılım
- 7 Haziran 2023
- Mesajlar
- 8
Daha fazla
- Cinsiyet
- Kadın
Python:
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 *
pencere = Tk()
pencere.geometry("400x300")
baslik = pencere.title("Proje")
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument("--incognito")
#chromeOptions.add_argument("--headless")
driver = webdriver.Chrome(chrome_options=chromeOptions)
driver.delete_all_cookies()
driver.get("https://www.teknoker.com/bilgisayar-bilesenleri?fiyat=hepsi&siralama=en-yeniler&pageing=3&list=0&k=&pageing=1")
def veri_cekme():
time.sleep(3)
driver.refresh()
time.sleep(3)
with open("urun.csv", "w", 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)
csv_writer = DictWriter(file, headers)
csv_writer.writerow({
"Ürün": urun_isim,
"Fiyat": veri,
})
time.sleep(3)#uygulama kullanılacağı sıra süre arttırılacak
driver.refresh()
with open("urun2.csv", "w", 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)
# yuzde = (veri2 * 25) / 100
# sonuc = veri2 - yuzde
csv_writer = DictWriter(file, headers)
csv_writer.writerow({
"Ürün": urun_isim,
"Fiyat": veri,
})
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 <= 23):
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/bilgisayar-bilesenleri")
toast.show()
#print(b4[i] + " indirimde sakın kaçırma!! "+ str(b2[i]) +" Fiyatından "+ str(c2[i]) +" Fiyatına düştü! ")
i += 1
else:
pass
def calistir():
while True:
veri_cekme()
veri_okuma_kontrol()
time.sleep(5)
def durdur():
driver.close()
dugme1 =Button(text="Programı Çalıştır",width=30,height=1,fg="white",
bg="black",command=calistir)
dugme2 =Button(text="Programı Kapat",width=30,height=1,fg="white",
bg="black",command=durdur)
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()
Bu kodlarda calistir butonuma tıklayıp uygulamayı çalıştırdıktan sonra diğer butonlara tıklayamıyorum. Ne yapmalıyım?
Son düzenleyen: Moderatör: