|
import bs4 |
|
from PIL import Image |
|
from selenium.webdriver.chrome.service import Service |
|
from selenium import webdriver |
|
import requests |
|
import os |
|
import time |
|
|
|
|
|
PATH = r"C:\Users\anujg\Downloads\Programs\chromedriver_win32\chromedriver.exe" |
|
service = Service(PATH) |
|
options = webdriver.ChromeOptions() |
|
|
|
options.add_argument('--no-sandbox') |
|
options.add_argument('--headless') |
|
options.add_argument('--disable-gpu') |
|
options.add_argument('--disable-dev-shm-usage') |
|
options.add_argument("--window-size=1920,10800") |
|
|
|
|
|
driver = webdriver.Chrome(service=service, options=options) |
|
|
|
|
|
|
|
def dloadimg(url, name): |
|
|
|
reponse = requests.get(url) |
|
if reponse.status_code==200: |
|
with open(os.path.join('resized',name+".jpg"), 'wb') as file: |
|
|
|
file.write(reponse.content) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def section_length(driver): |
|
fig_xpath = '//*[@id="main"]/div[3]/div/div[2]/section/figure' |
|
figures = driver.find_elements(by="xpath", value=fig_xpath) |
|
return len(figures) |
|
|
|
def dload(urlW,name,pc): |
|
driver.get(urlW) |
|
num_img = section_length(driver) |
|
print(num_img) |
|
for i in range(1, num_img+1): |
|
ImageXPath = """//*[@id="main"]/div[3]/div/div[2]/section/figure[%s]/div/a/img"""%(i) |
|
|
|
|
|
timeStarted = time.time() |
|
while True: |
|
try: |
|
ImageElement = driver.find_element(by="xpath", value=ImageXPath) |
|
ImageURL = ImageElement.get_attribute("src") |
|
|
|
if ImageURL == "https://freepik.cdnpk.net/img/1px.png": |
|
currentTime = time.time() |
|
if currentTime - timeStarted > 10: |
|
print("Timeout! moving to next image") |
|
break |
|
elif ImageURL != "https://freepik.cdnpk.net/img/1px.png": |
|
dloadimg(ImageURL, name+"_pg_no."+str(pc)+"img"+str(i)) |
|
print("Downloaded image no. %s of page no. %s." %(i,pc)) |
|
break |
|
else: |
|
break |
|
except: |
|
print("Couldn't download an image %s, continuing downloading the next one"%(i)) |
|
break |
|
|
|
pgcnt = 1 |
|
while pgcnt<23: |
|
urlW = "https://www.freepik.com/photos/ai-generated/%s"%(pgcnt) |
|
dload(urlW,"AI_Img",pgcnt) |
|
pgcnt = pgcnt + 1 |
|
|
|
|
|
|
|
|
|
driver.close() |