• 26-04-2025, 23:57:11
    #1
    Arkadaşlar,

    Claude kodlama yaparken hep yarıda kesiyor ve girinti hatası oluyor python için...

    Çok uzun kodlarda da Chatgpt yarım kesiyor, bozuyor...

    PYTHON
    NODEJS

    için ayrı ayrı en iyi ai kodlama aracı hangisidir? Sıfır kodlama bilgisi için.
  • 27-04-2025, 00:00:28
    #2
    Kişisel Rütbe
    Claude bende asla yarıda kesmiyor ama keserse continue de

    ben trae lovable gibilerini kullanırım direkt yazılımı görüyorum
  • 27-04-2025, 00:02:42
    #3
    Saitama adlı üyeden alıntı: mesajı görüntüle
    Claude bende asla yarıda kesmiyor ama keserse continue de

    ben trae lovable gibilerini kullanırım direkt yazılımı görüyorum
    Claude, Maks 1000 satır sonra birden duruyor.... Devam diyince python için girinti (boşluk) hataları olusuyor; çünkü boşluksuz başlıyor.
  • 27-04-2025, 00:04:45
    #4
    Mubido & FatBotter
    aistudio.google.com

    Buradan deneyin.
  • 27-04-2025, 00:08:02
    #5
    Kişisel Rütbe
    anilguler adlı üyeden alıntı: mesajı görüntüle
    Claude, Maks 1000 satır sonra birden duruyor.... Devam diyince python için girinti (boşluk) hataları olusuyor; çünkü boşluksuz başlıyor.
    Claude 3.7 sonnet kullanıyorum yaşamadım belkide prodan dolayıdır
  • 27-04-2025, 00:08:48
    #6
    lookout adlı üyeden alıntı: mesajı görüntüle
    aistudio.google.com

    Buradan deneyin.
    Deneyeceğim çok teşekkürler
  • 27-04-2025, 00:18:01
    #7
    Mubido & FatBotter
    Python ile bot yazımı yapıyorsanız, selenium ile yapmasını isteyin. Ayrıca hangi veriyi nereden alacağını da ona mutlaka söyleyin.

    Örneğin hepsiburada.com ürün sayfasından ürün verilerini çekerken, ürün adına sağ tıklayıp, incele deyin. Sonra sağda bir bölüm açılacak, buradan ürün adının metin halini bulup sağ tıklayın, kopyalanın altında xpath'ı kopyala olmalı. Benim tarayıcı İngilizce olduğundan aşağıdaki şekilde görünüyor. Ürün adını bu xpath ile alabileceğini söyleyin.



    Örnek bot prompt:

    Hepsiburada ürün url'sinden ürün bilgilerini ekrana yazdıran bir python betik yaz. Selenium kullan.
    
    Alman gereken verileri xpath olarak aşağıya ekledim:
    Ürün adı: //*[@id="container"]/div/main/div/div/div[2]/section[1]/div[2]/div[1]/div[1]/h1/text()
    Marka: //*[@id="container"]/div/main/div/div/div[2]/section[1]/div[2]/div[1]/div[1]/h1/a
    Satıcı: //*[@id="container"]/div/main/div/div/div[2]/section[1]/div[2]/div[2]/div[1]/a/span
    Fiyat: //*[@id="container"]/div/main/div/div/div[2]/section[1]/div[2]/div[3]/div/div[1]/div[1]/span/text()[1]
    Örnek kod:

    import time
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.chrome.service import Service
    from webdriver_manager.chrome import ChromeDriverManager
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.common.exceptions import NoSuchElementException, TimeoutException
    def get_hepsiburada_product_info(url):
        """
        Verilen Hepsiburada ürün URL'sinden ürün bilgilerini çeker.
        Args:
            url (str): Hepsiburada ürün sayfası URL'si.
        Returns:
            dict: Ürün bilgilerini içeren bir sözlük (product_name, brand, seller, price)
                  veya bir hata oluşursa None.
        """
        product_info = {
            "product_name": None,
            "brand": None,
            "seller": None,
            "price": None,
            "url": url
        }
        # XPath'ler (Kullanıcı tarafından sağlananlar)
        # Not: XPath'ler zamanla değişebilir!
        xpath_product_name_h1 = '//*[@id="container"]/div/main/div/div/div[2]/section[1]/div[2]/div[1]/div[1]/h1'
        xpath_brand_link = '//*[@id="container"]/div/main/div/div/div[2]/section[1]/div[2]/div[1]/div[1]/h1/a'
        xpath_seller = '//*[@id="container"]/div/main/div/div/div[2]/section[1]/div[2]/div[2]/div[1]/a/span'
        # Fiyat XPath'i için genellikle ana fiyat konteynerini hedeflemek daha güvenilirdir.
        # Kullanıcının verdiği XPath'deki span'ı hedefleyelim:
        xpath_price_span = '//*[@id="container"]/div/main/div/div/div[2]/section[1]/div[2]/div[3]/div/div[1]/div[1]/span'
        # --- WebDriver Kurulumu ---
        options = webdriver.ChromeOptions()
        # options.add_argument('--headless')  # Tarayıcıyı arka planda çalıştırmak için
        # options.add_argument('--disable-gpu') # Headless mod için bazen gerekli
        options.add_argument('--start-maximized') # Tam ekran başlatma
        options.add_argument('--log-level=3') # Konsola daha az Selenium logu basması için
        options.add_experimental_option('excludeSwitches', ['enable-logging']) # Konsoldaki Device Rtc.. logunu gizler
        driver = None # Hata durumunda quit() çağrılabilmesi için başta None atayalım
        try:
            print("WebDriver başlatılıyor...")
            service = Service(ChromeDriverManager().install())
            driver = webdriver.Chrome(service=service, options=options)
            print(f"Sayfa yükleniyor: {url}")
            driver.get(url)
            # Sayfanın yüklenmesi için bekleme süresi (gerekirse artırılabilir)
            wait = WebDriverWait(driver, 15) # 15 saniye kadar bekle
            print("Ürün bilgileri çekiliyor...")
            # --- Veri Çekme ---
            # Marka (Genellikle H1 içindeki link)
            try:
                brand_element = wait.until(EC.presence_of_element_located((By.XPATH, xpath_brand_link)))
                product_info["brand"] = brand_element.text.strip()
            except (NoSuchElementException, TimeoutException):
                print(f"Uyarı: Marka bulunamadı (XPath: {xpath_brand_link})")
            except Exception as e:
                 print(f"Marka çekilirken beklenmedik hata: {e}")
            # Ürün Adı (H1 elementinin tamamı - Markayı daha sonra çıkarmayı deneyebiliriz)
            try:
                # H1 elementinin görünür olmasını bekleyelim
                h1_element = wait.until(EC.visibility_of_element_located((By.XPATH, xpath_product_name_h1)))
                full_name = h1_element.text.strip()
                # Eğer marka bulunduysa ve isim markayla başlıyorsa, markayı çıkar
                if product_info["brand"] and full_name.startswith(product_info["brand"]):
                    product_info["product_name"] = full_name[len(product_info["brand"]):].strip()
                else:
                     product_info["product_name"] = full_name # Marka yoksa veya başta değilse, tam ismi al
            except (NoSuchElementException, TimeoutException):
                print(f"Uyarı: Ürün adı (H1) bulunamadı (XPath: {xpath_product_name_h1})")
            except Exception as e:
                 print(f"Ürün adı çekilirken beklenmedik hata: {e}")
    
            # Satıcı
            try:
                seller_element = wait.until(EC.presence_of_element_located((By.XPATH, xpath_seller)))
                product_info["seller"] = seller_element.text.strip()
            except (NoSuchElementException, TimeoutException):
                # Bazen satıcı farklı bir yapıda olabilir, alternatif kontrol edilebilir.
                # Örnek: Satıcı Hepsiburada ise link olmayabilir.
                try:
                     # Alternatif XPath (Satıcı Hepsiburada olduğunda link olmayabilir)
                     xpath_seller_alt = '//*[@id="container"]/div/main/div/div/div[2]/section[1]/div[2]/div[2]/div[1]/span[2]'
                     seller_element = wait.until(EC.presence_of_element_located((By.XPATH, xpath_seller_alt)))
                     product_info["seller"] = seller_element.text.strip()
                except (NoSuchElementException, TimeoutException):
                     print(f"Uyarı: Satıcı bulunamadı (XPathler: {xpath_seller}, {xpath_seller_alt})")
                except Exception as e_alt:
                     print(f"Alternatif satıcı çekilirken beklenmedik hata: {e_alt}")
            except Exception as e:
                 print(f"Satıcı çekilirken beklenmedik hata: {e}")
            # Fiyat
            try:
                 # Fiyat elementinin içeriği değişebileceği için görünür olmasını beklemek daha iyi
                price_element = wait.until(EC.visibility_of_element_located((By.XPATH, xpath_price_span)))
                # Bazen fiyat birden fazla span içinde veya text node'larında olabilir.
                # Sadece elementin text'ini almak genellikle işe yarar.
                product_info["price"] = price_element.text.strip()
                # Eğer fiyat boşsa veya sadece 'TL' gibi bir şeyse, içindeki diğer elementleri kontrol et
                if not product_info["price"] or product_info["price"].lower() == "tl":
                     # Fiyat genellikle 'data-bind' veya script içinde de olabilir,
                     # ancak XPath ile almak daha basit. İç içe span'leri deneyelim.
                     try:
                          # Fiyat genellikle bu span içindeki başka bir yerde olabilir
                          actual_price = driver.execute_script("return arguments[0].innerText;", price_element)
                          product_info["price"] = actual_price.strip() if actual_price else None
                     except Exception as inner_e:
                          print(f"Fiyat içeriği alınırken ek hata: {inner_e}")
            except (NoSuchElementException, TimeoutException):
                print(f"Uyarı: Fiyat bulunamadı (XPath: {xpath_price_span})")
                # Fiyat bazen farklı bir id ile (örn: 'offering-price') olabilir. Kontrol edilebilir.
                try:
                    xpath_price_alt = '//*[@data-test-id="product-price"]' # Daha genel bir seçici
                    price_element_alt = wait.until(EC.visibility_of_element_located((By.XPATH, xpath_price_alt)))
                    product_info["price"] = price_element_alt.text.strip()
                    if not product_info["price"]: # İçeriği script ile almayı dene
                         actual_price = driver.execute_script("return arguments[0].innerText;", price_element_alt)
                         product_info["price"] = actual_price.strip() if actual_price else None
                except (NoSuchElementException, TimeoutException):
                     print(f"Uyarı: Alternatif fiyat da bulunamadı (XPath: {xpath_price_alt})")
                except Exception as e_alt:
                     print(f"Alternatif fiyat çekilirken beklenmedik hata: {e_alt}")
            except Exception as e:
                 print(f"Fiyat çekilirken beklenmedik hata: {e}")
    
            return product_info
        except Exception as e:
            print(f"Genel bir hata oluştu: {e}")
            return None
        finally:
            # --- Tarayıcıyı Kapat ---
            if driver:
                print("Tarayıcı kapatılıyor.")
                driver.quit()
    # --- Betiği Çalıştırma ---
    if __name__ == "__main__":
        # Test için örnek bir Hepsiburada URL'si (İstediğiniz URL ile değiştirin)
        # test_url = "https://www.hepsiburada.com/apple-iphone-15-pro-max-256-gb-natural-titanium-p-HBCV00004YQSY7"
        # test_url = "https://www.hepsiburada.com/logitech-m171-kablosuz-mouse-siyah-910-004424-p-BD804667"
        test_url = input("Lütfen Hepsiburada ürün URL'sini girin: ")
        if "hepsiburada.com" not in test_url:
             print("Lütfen geçerli bir Hepsiburada URL'si girin.")
        else:
            start_time = time.time()
            product_data = get_hepsiburada_product_info(test_url)
            end_time = time.time()
            if product_data:
                print("n--- Ürün Bilgileri ---")
                print(f"URL: {product_data['url']}")
                print(f"Ürün Adı: {product_data['product_name'] if product_data['product_name'] else 'Bulunamadı'}")
                print(f"Marka: {product_data['brand'] if product_data['brand'] else 'Bulunamadı'}")
                print(f"Satıcı: {product_data['seller'] if product_data['seller'] else 'Bulunamadı'}")
                print(f"Fiyat: {product_data['price'] if product_data['price'] else 'Bulunamadı'}")
                print("----------------------")
                print(f"İşlem süresi: {end_time - start_time:.2f} saniye")
            else:
                print("nÜrün bilgileri alınamadı.")
  • 27-04-2025, 00:19:06
    #8
    🥇Claude Opus 4.8🥇
    Yapay Zeka Paneli için bilgi verdim

    https://www.r10.net/chatgpt-openai/4...-128081-a.html
  • 27-04-2025, 00:21:51
    #9
    captcha yok mu hburada da