• 10-05-2024, 11:59:59
    #1
    Herkese merhaba. Asp.net framework'u ile yapılmış bir siteden ürünlerin resmini, başlığını, barkod kodunu ve fiyatını çekmek için bir kod yazmaya çalışıyorum. Kod çalışıyor hiçbir hata vermiyor fakat urunler.csv içerisinde sadece çekmek istediğim verilerin başlığı yazıyor. "urunler.csv içi: Ürün Barkod Kodu,Ürün Adı,Fiyat,Ürün Resmi" Bu sorunu nasıl çözebilirim. Kodu inceler misiniz, nerede hata yapıyorum. Acil ürünleri siteme yüklemem gerekiyor yardımcı olursanız çok sevinirim çok teşekkür ederim.
    Kodum:
    import csv
    import requests
    from bs4 import BeautifulSoup
    
    email = "eposta adresimi yaziyorum"
    password = "sifremi yaziyorum"
    
    login_url = "login sayfasının urlsini giriyorum"
    
    products_url = "urunlerin bulundugu sayfanin urlsini giriyorum"
    
    login_data = {
        "Email": email,
        "Password": password
    }
    
    with requests.Session() as session:
        login_response = session.post(login_url, data=login_data)
    
        if login_response.status_code == 200:
            products_response = session.get(products_url)
    
            if products_response.status_code == 200:
                soup = BeautifulSoup(products_response.content, "html.parser")
                products = soup.find_all("div", class_="col-lg-3 col-md-6 mb-r")
    
                with open("urunler.csv", "w", newline="", encoding="utf-8") as csvfile:
                    writer = csv.writer(csvfile)
                    writer.writerow(["Ürün Barkod Kodu", "Ürün Adı", "Fiyat", "Ürün Resmi"])
                    for product in products:
                        product_name = product.find("h5", class_="card-title").text.strip()
                        product_barcode = product.find("a", class_="text-muted").text.strip()
                        product_price = product.find("del", class_="discount").text.strip()
                        product_image = product.find("img")["src"]
    
                        writer.writerow([product_barcode, product_name, product_price, product_image])
                print("Veriler 'urunler.csv' dosyasına kaydedildi.")
            else:
                print("Ürünler sayfasına erişilemiyor.")
        else:
            print("Oturum açma başarısız.")
  • 10-05-2024, 12:42:46
    #2
    Cookie ile giriş yaparak da çekmeyi denedim, giriş yapıyorum fakat verileri yine çekemiyorum. Yardımcı olabilir misiniz?
  • 10-05-2024, 12:46:01
    #3
    Login url sayfasını özelden iletirmisin ?
  • 10-05-2024, 12:49:20
    #4
    taylanweb adlı üyeden alıntı: mesajı görüntüle
    Login url sayfasını özelden iletirmisin ?
    Hocam mesaj kutum tamamen dolu idi. Boşaltıp ilettim umarım gelmiştir.
  • 10-05-2024, 13:06:30
    #5
    pyppeteer kütüphanesi ile hazırladım. ANYDESK ile iletişime geçip pyppeteer 'deki Chromium download sorunu sebebiyle Selenium Kütüphanesini tercih ettik düzenleme yapılıp test edildi.


    login_data = {
    "ctl00$MainContent$Email": email,
    "ctl00$MainContent$Password": password
    }

    kısmını değiştirdim. özelden gönderdiğim çekim detayını ve kodu inceleyerek, çalıştırarak. Farklı kütüphaneler ilede test edebilirsiniz.

    soykiran adlı üyeden alıntı: mesajı görüntüle
    Hocam mesaj kutum tamamen dolu idi. Boşaltıp ilettim umarım gelmiştir.