• 29-01-2023, 00:02:05
    #10
    alit adlı üyeden alıntı: mesajı görüntüle
    Selenium ve BeautifulSoup kullanarak resmin linkini almaya çalışabilirsiniz. Öncelikle gerekli kütüphaneleri kurmanız gerekir.
    pip install selenium
    pip install beautifulsoup4
    Örnek;
    from selenium import webdriver
    from bs4 import BeautifulSoup
    
    # Selenium ile tarayıcıyı açıyoruz
    driver = webdriver.Firefox()
    driver.get("https://example.com")
    
    # Tarayıcıda açılan sayfanın HTML içeriğini alıyoruz
    html = driver.page_source
    soup = BeautifulSoup(html, 'html.parser')
    
    # Resmin linkini arıyoruz
    img_tag = soup.find('img', {'class': 'product__image'})
    img_link = img_tag['src']
    
    # Tarayıcıyı kapatıyoruz
    driver.quit()
    
    print(img_link)
    Tarayıcıda açtığı sayfadaki resmin linkini arar ve ekrana yazdırır. Tarayıcı sürücüsünü (webdriver) indirmeniz gerekir. Firefox için geckodriver, Chrome için chromedriver gibi.
    Hocam çok Teşekkür ederim emeğimniz için.requests ile çözmem gerek.şartlar gereği selenium olmaz
  • 29-01-2023, 00:05:31
    #11
    Python'da requests kütüphanesi ile bir web sayfasının HTML içeriğini indirebilir ve BeautifulSoup kütüphanesi ile bu içeriği parse ederek resimlerin linklerini bulabilirsiniz. Örnek olarak:
    import requests
    from bs4 import BeautifulSoup
    
    url = 'https://www.example.com'
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    img_tags = soup.find_all('img')
    img_links = []
    for img in img_tags:
        img_links.append(img['src'])
    print(img_links)
  • 29-01-2023, 00:09:18
    #12
    FisherWood adlı üyeden alıntı: mesajı görüntüle
    Tarayıcıya falan gerek yok. script bilgileri de zaten sayfanın içinde yükleniyor hocam. script de aynı yerden alıyor direk kaynak dataLayer içerek javascripttir ordan almak daha mantıklı buyrun

    import requests
    from bs4 import BeautifulSoup
    import json
    def find_between(s, start, end):
        return (s.split(start))[1].split(end)[0]
    
    uri = "https://www.ciceksepeti.com/t500-akilli-saat-smart-watch-turkce-menulu-arama-cevaplama-cift-tus-aktif-kcm51543257"
    
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        }
            
    r = requests.get((uri), headers=headers, verify=True)
    soup = BeautifulSoup(r.content, "html.parser")
    
    # sadece scriptleri alıyorum html içinden
    list_of_scripts = soup.findAll("script")
    
    
    product = ""
    # scriptlerin içinde bize gerekli olanı buluyoruz
    for script in list_of_scripts:
        if "ecomm_pagetype" in script.get_text():
            product = find_between(script.get_text(),'dataLayer = [','];')
            break
    # script içindeki dict python dict dönüştürdük
    productdict = json.loads(product)
    for item in productdict:
        print(item , productdict[item])
    Sadece resmi almak istiyorsanız aşağıdaki komutta yeterli
    print(productdict['productImage'])
    Çok çok teşekkür ederim .ALLAH razı olsun.Mükemmel...
  • 06-03-2023, 20:36:41
    #13
    requeststen sonra gelen cevapların içinden bs4 ile "src" lere ulaşıcan "https://cdn03.ciceksepeti.com/cicek/kcm51543257-1/L/t500-akilli-saat-smart-watch-turkce-menulu-arama-cevaplama-cift-tus-aktif-kcm51543257-1-4b27238aea6d48079a5d43ed0c6735f8.jpg" find_all al ile alırsan for a sokarsın hepsini kaydedersin istediğin isimle tüm resimleri sırayla indirirsin yada ilk item a ulaşırsın kaydedirsin bu kadar.
  • 04-04-2023, 23:46:22
    #14
    request-html kütüphanesini kullanabilirsiniz.