• Quick Support Form
  • info@senkrondata.com
  • Live Support Chat

1. Kurulum

Rakip fiyatlarındaki değişiklikleri izlemek, doğru piyasa analizi yapmak ve markanızın rekabet gücünü artırmak için gereklidir. Fiyatları manuel olarak takip etmek zaman alıcı olabilir ve hatalara açık bir süreçtir.

Bu nedenle, otomatik fiyat takibi yöntemleri iş süreçlerini optimize etmek için güçlü araçlar haline gelmiştir. Rekabetin yoğun olduğu pazarda, markanız için otomatik rakip fiyat takibini uygulamak için dört temel yöntemi ele alıyoruz.

Scrapy’nin Kurulumu

Öncelikle, bilgisayarınızda Python’un en son sürümünün yüklü olduğundan emin olun. Daha sonra, projeniz için Scrapy kütüphanesini aşağıdaki komutla yükleyin. Bu komutu Python terminalinde veya komut istemcisine girerek yüklemeyi tamamlayabilirsiniz:

pip install scrapy

Scrapy Projesi Oluşturma

Scrapy kullanmaya başlamak için öncelikle bir proje oluşturmanız gerekmektedir. Aşağıdaki komut ile yeni bir Scrapy projesi başlatabilirsiniz:

scrapy startproject fiyat_takibi

Bu komut, “fiyat_takibi” adlı bir klasör oluşturur ve içinde temel Scrapy proje dosyalarını barındırır.

Scrapy Spider Oluşturma

Şimdi, ürün fiyatlarını almak için bir Spider (örümcek) oluşturmalıyız. Scrapy’de Spider, belirlenen web sayfalarından veri almak için yazılan bir sınıftır.

1. Proje klasörü içinde fiyat_takibi/spiders dizinine gidin.

2. Yeni bir Python dosyası oluşturun, örneğin: fiyat_spider.py

Scrapy Crawler Örneği

Aşağıda bir Scrapy crawler (tarayıcı) örneği verilmiştir:

import scrapy

class FiyatSpider(scrapy.Spider):
    name = "fiyat_spider"

    # Rakiplerin ürün sayfalarının URL'lerini buraya ekleyin;
    start_urls = [
        "https://www.ornek-site.com/urunler/urun-1",
        "https://www.ornek-site.com/urunler/urun-2",
        "https://www.ornek-site.com/urunler/urun-3",
    ]

    def parse(self, response):
        # Sayfa başlığı ve ürün fiyatı verilerini çekiyoruz;
        urun_adi = response.xpath('//h1[@class="product-title"]/text()').get()
        urun_fiyati = response.xpath('//span[@class="price"]/text()').get()

        # Veriyi çıktı olarak döndürüyoruz.
        yield {
            "urun_adi": urun_adi,
            "urun_fiyati": urun_fiyati.strip() if urun_fiyati else "Fiyat bulunamadı",
        }

Açıklamalar

Yukarıdaki kod örneği, örnek bir e-ticaret sitesi için yazılmıştır. Her rakip web sitesi için ayrı ayrı çalıştırılmalı ve özgün isimler atanmalıdır.

start_urls: Her rakip web sitesinin bağlantıları ayrı dosyalarda saklanmalıdır. Burada, rakip fiyat takibi için izlenmek istenen ürün sayfalarının URL listesi tanımlanır.

parse: Scrapy, her URL için parse fonksiyonunu çalıştırarak sayfadaki veriyi çeker. Burada XPath ifadeleri kullanılarak ürün adı ve fiyat bilgisi sayfadan alınır.

xpath: Sayfa içindeki belirli öğeleri bulmak için kullanılan bir yöntemdir. XPath, XML ve HTML yapılarına erişim sağlar.

yield: Scrapy’nin çıkarılan veriyi çıktı olarak döndürmesini sağlar. Genellikle, JSON veya CSV formatında kaydedilir.