Aşağıdaki kod bloğu , döviz kurlarını çekip görsel bir şekilde kullanıcıya sunan bir uygulama oluşturur. İşleyişini aşağıdaki adımlarla açıklayabilirim:
requests
veBeautifulSoup
kütüphaneleri içe aktarılır.tkinter
vettk
modülleri içe aktarılır. Bu, GUI (Graphical User Interface - Grafiksel Kullanıcı Arayüzü) oluşturmak için kullanılır.- Döviz verilerinin alınacağı web sayfasının URL'si belirlenir.
requests.get()
işlevi kullanılarak web sayfası içeriği alınır.BeautifulSoup
kullanılarak web sayfasının içeriği ayrıştırılır.market_data
değişkeni, döviz verilerinin bulunduğu bölümü temsil eden HTML etiketi bulunur.- Eğer
market_data
değeriNone
ise, piyasa verileri bulunamadığına dair bir mesaj yazdırılır ve program sonlandırılır. tkinter
kullanılarak bir pencere oluşturulur ve başlığı "Döviz Kuru Takip" olarak ayarlanır.ttk.Treeview
nesnesi oluşturulur ve sütun başlıkları tanımlanır.market_data
içindeki döviz verileri, döngü yardımıyla ayrıştırılır veTreeview
nesnesine eklenir.Treeview
nesnesi ekrana yerleştirilir.- Tkinter penceresi çalıştırılır ve döviz kurları kullanıcıya gösterilir.
Bu kod, döviz kurlarını çeken ve kullanıcıya gösteren basit bir döviz takip uygulamasıdır.
import requests
from bs4 import BeautifulSoup
import tkinter as tk
from tkinter import ttk
# Döviz verilerinin alınacağı web sayfası URL'si
url = "https://www.doviz.com/"
# Web sayfasından verileri çekme ve ayrıştırma işlemleri
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
market_data = soup.find("div", class_="market-data")
if market_data is None:
print("Piyasa verileri bulunamadı.")
exit()
# Tkinter penceresi oluşturma
root = tk.Tk()
root.title("Döviz Kuru Takip")
# Treeview nesnesi oluşturma ve sütunları tanımlama
tree = ttk.Treeview(root)
tree["columns"] = ("Alış", "Satış","Değişim")
tree.heading("#0", text="Döviz")
tree.heading("Alış", text="İşlem Fiyatı")
tree.heading("Satış", text="Değişim Oranı")
tree.heading("Değişim", text="Değişim Fiyatı")
# Web sayfasından çekilen verileri Treeview nesnesine ekleme
for row in market_data.find_all("div", class_="item"):
name = row.find("span", class_="name").text.strip()
alis = row.find("span", class_="value")
degisim = row.find("div", class_="change-amount")
if alis is None:
alis = ""
else:
alis = alis.text.strip()
satis = row.find("div", class_="change-rate")
if satis is None:
satis = ""
else:
satis = satis.text.strip()
if degisim is None:
degisim = ""
else:
degisim = degisim.text.strip()
tree.insert("", "end", text=name, values=(alis, satis, degisim))
# Treeview nesnesini ekrana yerleştirme
tree.pack()
# Tkinter penceresini çalıştırma
root.mainloop()