Hazırlayan : @ATK
Merhabalar THT Ailesi,
Bu konuda Python kullanarak belirli e-ticaret sitelerinden ürün fiyatlarını otomatik olarak takip eden bir sistem geliştirdim.
Amacım, seçilen ürünlerin fiyatlarını belli aralıklarla kontrol edip değişim olduğunda kullanıcıya bilgi vermekti.
Sistem :
- Requests ve BeautifulSoup kütüphaneleriyle site verisini çeker,
- Ürün adı, fiyat ve tarih bilgilerini kaydeder,
- Fiyat değişimi olduğunda ekrana bildirim verir,
- Geliştirilmeye açık şekilde tasarlanmıştır.
Bu tür bir sistem, özellikle fiyat değişimlerinin sık olduğu platformlarda hem kullanıcıya avantaj sağlar hem de scraping mantığını öğretici bir örnek sunar.
Aşağıda projenin örnek scriptini paylaşıyorum. Kod sade, düzenli ve kolay uyarlanabilir biçimdedir.
Kod :
Bu script, temel düzeyde fiyat kontrolünü sağlar.
Her kontrol döngüsünde ürün fiyatını çekip, önceki kayıtla karşılaştırır.
Değişiklik varsa ekrana bildirir.
Scripti geliştirerek şunlar eklenebilir:
+ Fiyat değişiminde e-posta veya Telegram bildirimi,
+ Verilerin CSV veya SQLite dosyasına kaydedilmesi,
+ Birden fazla ürün takibi için liste oluşturulması,
+ Proxy veya header döngüsüyle engellemeye dayanıklı yapı.
Kod tamamen düzenlenebilir, sadece URL ve price_tag kısmı takip edilen siteye göre güncellenmelidir.
- Bu çalışma, veri çekme (scraping) mantığını öğrenmek isteyenler için pratik bir örnek niteliğinde.
İleri düzeyde otomasyon eklemek isteyenler, kodu zamanlayıcı (örneğin schedule kütüphanesi) veya cron job ile periyodik olarak çalıştırabilir.
Günlük fiyat takibi yapan bir sistem, hem e-ticaret analizlerinde hem de kişisel fiyat izleme projelerinde işe yarar.
Sade tutulduğu için, kod kolayca farklı sitelere uyarlanabilir.
Sorusu olan, geliştirmek isteyen veya farklı sitelere özel yapı kurmak isteyenler konu altına yazabilir.
Yardımcı olurum.
Teşekkürler...
Merhabalar THT Ailesi,
Bu konuda Python kullanarak belirli e-ticaret sitelerinden ürün fiyatlarını otomatik olarak takip eden bir sistem geliştirdim.
Amacım, seçilen ürünlerin fiyatlarını belli aralıklarla kontrol edip değişim olduğunda kullanıcıya bilgi vermekti.
Sistem :
- Requests ve BeautifulSoup kütüphaneleriyle site verisini çeker,
- Ürün adı, fiyat ve tarih bilgilerini kaydeder,
- Fiyat değişimi olduğunda ekrana bildirim verir,
- Geliştirilmeye açık şekilde tasarlanmıştır.
Bu tür bir sistem, özellikle fiyat değişimlerinin sık olduğu platformlarda hem kullanıcıya avantaj sağlar hem de scraping mantığını öğretici bir örnek sunar.
Aşağıda projenin örnek scriptini paylaşıyorum. Kod sade, düzenli ve kolay uyarlanabilir biçimdedir.
Kod :
Python:
import requests
from bs4 import BeautifulSoup
import time
from datetime import datetime
# Takip edilecek ürün linki
URL = "https://www.ornek-sitesi.com/urun/ornek-urun"
# Kullanıcı-Agent (bazı siteler engel koyabilir)
HEADERS = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
}
# Eski fiyatı saklayacak değişken
previous_price = None
def get_price():
"""Site üzerinden ürün fiyatını çeker"""
response = requests.get(URL, headers=HEADERS)
soup = BeautifulSoup(response.text, "html.parser")
# Örnek olarak fiyat etiketinin HTML class'ı
price_tag = soup.find("span", {"class": "product-price"})
if not price_tag:
return None
# Fiyatı sadece rakamlara dönüştür
price_text = price_tag.get_text().strip()
price = ''.join(filter(str.isdigit, price_text))
return int(price)
def main():
global previous_price
print("Fiyat takip sistemi başlatıldı...\n")
while True:
current_price = get_price()
if current_price is None:
print("Fiyat bilgisi alınamadı, site yapısını kontrol edin.")
else:
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
if previous_price is None:
previous_price = current_price
print(f"{now} | İlk fiyat: {current_price} TL")
elif current_price != previous_price:
diff = current_price - previous_price
status = "düştü" if diff < 0 else "arttı"
print(f"{now} | Fiyat {status}: {previous_price} TL → {current_price} TL")
previous_price = current_price
else:
print(f"{now} | Fiyat değişmedi: {current_price} TL")
# 30 dakikada bir kontrol (1800 saniye)
time.sleep(1800)
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print("\nTakip sistemi durduruldu.")
Bu script, temel düzeyde fiyat kontrolünü sağlar.
Her kontrol döngüsünde ürün fiyatını çekip, önceki kayıtla karşılaştırır.
Değişiklik varsa ekrana bildirir.
Scripti geliştirerek şunlar eklenebilir:
+ Fiyat değişiminde e-posta veya Telegram bildirimi,
+ Verilerin CSV veya SQLite dosyasına kaydedilmesi,
+ Birden fazla ürün takibi için liste oluşturulması,
+ Proxy veya header döngüsüyle engellemeye dayanıklı yapı.
Kod tamamen düzenlenebilir, sadece URL ve price_tag kısmı takip edilen siteye göre güncellenmelidir.
- Bu çalışma, veri çekme (scraping) mantığını öğrenmek isteyenler için pratik bir örnek niteliğinde.
İleri düzeyde otomasyon eklemek isteyenler, kodu zamanlayıcı (örneğin schedule kütüphanesi) veya cron job ile periyodik olarak çalıştırabilir.
Günlük fiyat takibi yapan bir sistem, hem e-ticaret analizlerinde hem de kişisel fiyat izleme projelerinde işe yarar.
Sade tutulduğu için, kod kolayca farklı sitelere uyarlanabilir.
Sorusu olan, geliştirmek isteyen veya farklı sitelere özel yapı kurmak isteyenler konu altına yazabilir.
Yardımcı olurum.
Teşekkürler...
Son düzenleme:




