Python GUİ anlık döviz hesaplayıcı-Requests|BeatifulSoup|Tkinter

DeathWarrior01

Uzman üye
14 Ocak 2021
1,749
1,102
Evren
Merhaba Değerli THT ailesi bu konumda sizlere PYTHON ile yapmış olduğum bir anlık döviz uygulamasını göstereceğim.Kullandığım modüller: Requests|BeatifulSoup|Tkinter Modülleri.Bu modüller'le ilgili daha detaylı bilgi almak için:
Requests: https://realpython.com/python-requests/
BeatifulSoup: https://realpython.com/beautiful-soup-web-scraper-python/
Tkinter: https://realpython.com/python-gui-tkinter/


Sitesini ziyaret edebilirsiniz.


Ekran Görüntüsü:




Kod:
[SIZE="4"]
from tkinter import *
from tkinter import messagebox
from tkinter import ttk
from bs4 import BeautifulSoup
import requests

pencere = Tk()
pencere.title("Kur hesaplayıcı")
pencere.geometry("500x500")
pencere.resizable(width=False,height=False)

messagebox.showinfo("Message","Coded By DeathWarrior01|THT")

def hesapla_kur():
    try:
        url = requests.get("https://www.doviz.com/").content
        soup = BeautifulSoup(url,"html.parser")
        kur1 = soup.find("span",attrs={"data-socket-key":"USD"})
        kur2 = soup.find("span",attrs={"data-socket-key":"gram-altin"})
        kur3 = soup.find("span",attrs={"data-socket-key":"EUR"})
        kur4 = soup.find("span",attrs={"data-socket-key":"GBP"})
        kur5 = soup.find("span",attrs={"data-socket-key":"XU100"})
        kur6 = soup.find("span",attrs={"data-socket-key":"bitcoin"})
        kur7 = soup.find("span",attrs={"data-socket-key":"gumus"})
        kur8 = soup.find("span",attrs={"data-socket-key":"TAHVIL"})
        #########Dolar#############
        dolar.delete(0,END)
        dolar.insert(END,kur1.text)
        ###########Gram_altın###########
        g_altın.delete(0,END)
        g_altın.insert(END,kur2.text)
        ############Euro#############
        euro.delete(0,END)
        euro.insert(END,kur3.text)
        ############Sterlın################
        sterlın.delete(0,END)
        sterlın.insert(END,kur4.text)
        #############Bıst############
        bıst.delete(0,END)
        bıst.insert(END,kur5.text)
        ###########Bıtcoın############
        bıtcoın.delete(0,END)
        bıtcoın.insert(END,kur6.text)
        ############Gümüş#############
        gumus.delete(0,END)
        gumus.insert(END,kur7.text)
        ############Faiz############
        faız.delete(0,END)
        faız.insert(END,kur8.text)
        #############Finish###################
    except:
        messagebox.showinfo("Message","Bir Hata Oluştur?")
def exıt():
    try:
        pencere.destroy()
    except:
        messagebox.showinfo("Message","Pencereyi Kapatırken Bir Hata Oluştur?")
def clear():
    try:
        dolar.delete(0,END)
        g_altın.delete(0,END)
        euro.delete(0,END)
        sterlın.delete(0,END)
        bıst.delete(0,END)
        bıtcoın.delete(0,END)
        gumus.delete(0,END)
        faız.delete(0,END)
    except:
        messagebox.showinfo("Message","Boşluklar Temizlenirken Bir Hata Oluştur?")
    

welcome = Label(text="Kur Hesaplayıcıya Hoş Geldiniz",font="bold 20",bg="green")
welcome.place(x=55,y=0)


label1 = Label(text="Dolar:",font="bold 20")
label1.place(x=0,y=50)

dolar = Entry(width=10,font="bold 20")
dolar.place(x=85,y=50)

label2 = Label(text="Gram Altın:",font="bold 20")
label2.place(x=0,y=100)

g_altın = Entry(width=10,font="bold 20")
g_altın.place(x=145,y=100)

label3 = Label(text="Euro:",font="bold 20")
label3.place(x=0,y=150)

euro = Entry(width=10,font="bold 20")
euro.place(x=80,y=150)

label4 = Label(text="Sterlin:",font="bold 20")
label4.place(x=0,y=200)

sterlın = Entry(width=10,font="bold 20")
sterlın.place(x=90,y=200)

label5 = Label(text="Bist:",font="bold 20")
label5.place(x=0,y=250)

bıst = Entry(width=10,font="bold 20")
bıst.place(x=65,y=250)

label6 = Label(text="Bitcoin:",font="bold 20")
label6.place(x=0,y=300)

bıtcoın = Entry(width=10,font="bold 20")
bıtcoın.place(x=92,y=300)

label7 = Label(text="Gümüş:",font="bold 20")
label7.place(x=0,y=350)

gumus = Entry(width=10,font="bold 20")
gumus.place(x=100,y=350)

label8 = Label(text="Faiz:",font="bold 20")
label8.place(x=0,y=400)

faız = Entry(width=10,font="bold 20")
faız.place(x=65,y=400)

hesapla = ttk.Button(text="Hesapla",command=hesapla_kur)
hesapla.place(x=350,y=50)

cıkıs = ttk.Button(text="Çıkış",command=exıt)
cıkıs.place(x=350,y=90)

temızle = ttk.Button(text="Temizle",command=clear)
temızle.place(x=350,y=130)

acıklama = Label(text="Açıklama: Bütün verilen\n anlık olarak hesaplanıyordur.\nÇekilen veriler\nhttps://www.doviz.com/\nsitesinden alınmıştır.",font="bold 15",bg="red")
acıklama.place(x=250,y=200)

mainloop()


İndirme Linki: https://dosya.co/cimy0izta2dk/Kur-Hesaplayıcı.exe.html

Vt: https://www.virustotal.com/gui/file...47531e64d6a9dab48b1cdcbc8bc88c37d01/detection

Bir sonraki konumda görüşmek üzere hayırlı ramazanlar:))


[/SIZE]​
 
Son düzenleme:

XKaraGERGEDANX

Uzman üye
19 Ocak 2021
1,372
113
3301/1.1.ano
ellerine sağlık dostum

arayüze güzel bir kütüphaneden tema eklersen güzel olur biraz da göze hitab etsin

onun dışında gerisi güzel daha çok kur ekleyebilirsin istersen ama çok gerek yok
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.