
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:
requestsveBeautifulSoupkütüphaneleri içe aktarılır.tkintervettkmodü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.BeautifulSoupkullanılarak web sayfasının içeriği ayrıştırılır.market_datadeğişkeni, döviz verilerinin bulunduğu bölümü temsil eden HTML etiketi bulunur.- Eğer
market_datadeğeriNoneise, piyasa verileri bulunamadığına dair bir mesaj yazdırılır ve program sonlandırılır. tkinterkullanılarak bir pencere oluşturulur ve başlığı "Döviz Kuru Takip" olarak ayarlanır.ttk.Treeviewnesnesi oluşturulur ve sütun başlıkları tanımlanır.market_dataiçindeki döviz verileri, döngü yardımıyla ayrıştırılır veTreeviewnesnesine eklenir.Treeviewnesnesi 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()


