Pythonda yeniyim. Videolar izleyerek denemeler ile program yazmaya çalışıyorum. İnternette fiyat takip etmek istediğim 2 3 ürün için ufak bir projede liste içinde gelen bir stringi sayıya çevirmede sorun yaşadım. 1.922,56 TL olan bir stringin 1,922.56 şekline nasıl çevirebilirim. samsung monitor fiyat dönüştür kısmı. 3 haneli rakamı çevirdim ama 4 haneli rakam olunca beceremedim. program eksiktir fiyatın düştüğü veya yükseldiği gibi kontrollere sahip değildir…
Düzenleme: program çalışınca ram fiyatı 401,40 tl olarak geliyor ve replace ile virgülü nokta ile değiştirip float ile rakama çeviriyorum. monitör fiyatı 1.922,56 tl geliyor replace ile noktayı virgül olarak değiştiriyorum ama bu seferde 1,922,56 oluyor yapmak istediğim 1,922.56 bizdeki bin ayıracı nokta iken pythonda nokta(.) lı sayı floatı temsil ediyor.
import requests
from bs4 import BeautifulSoup
web_adresi = "https://www.amazon.com.tr/VIPER-STEEL-DDR4-8GB-3000Mhz-CL-16-GAMING-SOGUTUCULU-PVS48G300C6/dp/B07MTVW1R1/ref=Oct_d_otopr_12601944031?pd_rd_i=B07MTVW1R1&pd_rd_r=9055aaf9-6b44-4ddf-9c82-9df5a523bbaf&pd_rd_w=S0dAa&pd_rd_wg=aMXjt&pf_rd_p=4d99e948-4972-4e23-92ce-e036da4e31fa&pf_rd_r=94ADRNCA6PBATC4RE93H&th=1"
web_adresi2 = "https://www.amazon.com.tr/Samsung-LF24T350FHRXUF-FreeSync-Oyuncu-Monit%C3%B6r%C3%BC/dp/B09C8F4KWF/ref=Oct_d_obs_12601904031?pd_rd_i=B09C8F4KWF&pd_rd_r=87b07988-c9f3-4a59-b4c9-4ed9624116c4&pd_rd_w=fAzfp&pd_rd_wg=cbvcx&pf_rd_p=cd80a221-cbda-4080-9f71-f2a40363c154&pf_rd_r=GH4DVKG0FGQ70M3T3K8Y"
header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"}
ram_sayfa = requests.get(web_adresi, headers=header)
monitor_sayfa = requests.get(web_adresi2, headers=header)
ram_icerik = BeautifulSoup(ram_sayfa.content, "html.parser")
monitor_icerik = BeautifulSoup(monitor_sayfa.content, "html.parser")
patriot_ram = ram_icerik.find(id="productTitle").getText().strip()
samsung_monitor = monitor_icerik.find(id="productTitle").getText().strip()
ram_fiyat = ram_icerik.find(id="corePriceDisplay_desktop_feature_div").getText().strip().split("TL")
monitor_fiyat = monitor_icerik.find(id="corePriceDisplay_desktop_feature_div").getText().strip().split("TL")
print(patriot_ram, ram_fiyat)
print(samsung_monitor, monitor_fiyat)
patriot_ram_fiyat_donustur = float(ram_fiyat[1].replace(",", "."))
print(patriot_ram_fiyat_donustur)
print(type(patriot_ram_fiyat_donustur))
samsung_monitor_fiyat_donustur = monitor_fiyat[1].replace(".",",")
print(samsung_monitor_fiyat_donustur)
print(type(samsung_monitor_fiyat_donustur))