• 16-01-2021, 11:23:19
    #1
    Kurumsal PLUS
    arkadaşlar merhaba python selenium ile ile nasıl resim çekebilirim
  • 16-01-2021, 11:28:17
    #2
    ahmetydb33 adlı üyeden alıntı: mesajı görüntüle
    arkadaşlar merhaba python selenium ile ile nasıl resim çekebilirim

    https://medium.com/swlh/web-scraping...n-8b825ba649b9
  • 16-01-2021, 11:46:45
    #3
    Kurumsal PLUS
    teşekkür ederim
  • 16-01-2021, 12:10:45
    #4
    Hocam requests paketini kullanmanız lazım. selenium ile resim urlsini alıp requests ile raw datasını aldıktan sonra normal bildiğimiz dosya işlemi yapıyorsunuz binary olarak kaydediyorsunuz bu kadar basit.
  • 16-01-2021, 13:00:23
    #5
    Kurumsal PLUS
    undercontr adlı üyeden alıntı: mesajı görüntüle
    Hocam requests paketini kullanmanız lazım. selenium ile resim urlsini alıp requests ile raw datasını aldıktan sonra normal bildiğimiz dosya işlemi yapıyorsunuz binary olarak kaydediyorsunuz bu kadar basit.
    teşekkür ederim hocam
  • 16-01-2021, 13:01:40
    #6
    Kurumsal PLUS
    undercontr adlı üyeden alıntı: mesajı görüntüle
    Hocam requests paketini kullanmanız lazım. selenium ile resim urlsini alıp requests ile raw datasını aldıktan sonra normal bildiğimiz dosya işlemi yapıyorsunuz binary olarak kaydediyorsunuz bu kadar basit.
    hocam peki url yerine xpathlerle alabileceigim bir şekil varmı çünkü baya resim var farklı farklı yerden
  • 16-01-2021, 18:36:52
    #7
    ahmetydb33 adlı üyeden alıntı: mesajı görüntüle
    hocam peki url yerine xpathlerle alabileceigim bir şekil varmı çünkü baya resim var farklı farklı yerden
    Resim datasını almak için GET request yapmanız şart. HTML içinden alabilecğeinzi tek şey de resmin URL'si. Bu işin başka türlüsü yok. HTML içinden direk resmin kendisini çekme şansınzı yok çünkü resmin datası html içinde değil img tagine verilen urlnin içinde.

    Kodunuz şu.

    from selenium import webdriver
    import requests
    
    driver = webdriver.Chrome("chromedriver.exe yolu")
    
    driver.get("resim(ler)in olduğu web adresi")
    
    resimler = driver.find_elements_by_xpath("imgler için yazıdğınız xpath")
    
    for i in resimler:
        url = i.get_attribute("src")
        imgdata = requests.get(url)
    
        with open("kaydedilecek resim yolu", "wb") as img:
            img.write(imgdata.raw)  # imgdata.raw yada imgdata.content olacaktı bu ikisinden biri
  • 17-01-2021, 16:39:30
    #8
    Kurumsal PLUS
    undercontr adlı üyeden alıntı: mesajı görüntüle
    Resim datasını almak için GET request yapmanız şart. HTML içinden alabilecğeinzi tek şey de resmin URL'si. Bu işin başka türlüsü yok. HTML içinden direk resmin kendisini çekme şansınzı yok çünkü resmin datası html içinde değil img tagine verilen urlnin içinde.

    Kodunuz şu.

    from selenium import webdriver
    import requests
    
    driver = webdriver.Chrome("chromedriver.exe yolu")
    
    driver.get("resim(ler)in olduğu web adresi")
    
    resimler = driver.find_elements_by_xpath("imgler için yazıdğınız xpath")
    
    for i in resimler:
        url = i.get_attribute("src")
        imgdata = requests.get(url)
    
        with open("kaydedilecek resim yolu", "wb") as img:
            img.write(imgdata.raw)  # imgdata.raw yada imgdata.content olacaktı bu ikisinden biri
    teşekkür ederim aradıgım tam olarak buydu