소개
게시글
질문&답변
큰 사진 변환이 잘 안됩니다.
질문 하나가 해결되지 않아서 다시 질문드려요. 지금 구글에 이미지를 검색해서 클래스를 추출하면 n3VNCb.KAlRDb가 나오더라구요.그리고 그 클래스를 추출하면 큰 이미지 하나만 있어서, find_element를 사용했습니다.그런데 img_src=target.get_attribute['src']에서 에러가 발생했습니다.'method' object is not subscriptable 라고 뜨네요. 왜 오류가 발생하는 것인가요?from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from webdriver_manager.chrome import ChromeDriverManager import urllib.request import time import os import pyautogui keyword=pyautogui.prompt('검색어를 입력하세요') number=pyautogui.prompt('몇 페이지까지 크롤링할까요?') num=0 if not os.path.exists(f'{keyword}.pre'): os.mkdir(f'{keyword}.pre') service=Service(executable_path=ChromeDriverManager().install()) driver=webdriver.Chrome(service=service) url=f'https://www.google.com/search?q={keyword}&sxsrf=ALiCzsYWdTh8-pf-RbVUKlr6vcRh_RrRHQ:1661388994496&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiY4eam5OD5AhXVE4gKHeWbABoQ_AUoAXoECAIQAw&safe=active&ssui=on' driver.get(url) driver.maximize_window driver.implicitly_wait(1) before_h=driver.execute_script('return window.scrollY') while True: driver.find_element(By.CSS_SELECTOR, 'body').send_keys(Keys.END) after_h=driver.execute_script('return window.scrollY') if before_h==after_h: break before_h=after_h imgs=driver.find_elements(By.CSS_SELECTOR, 'img.rg_i.Q4LuWd') for i, img in enumerate(imgs, 1): if number==num: break driver.execute_script('arguments[0].click();', img) target=driver.find_element(By.CSS_SELECTOR, 'img.n3VNCb.KAlRDb') time.sleep(1) img_src=target.get_attribute['src'] opener=urllib.request.build_opener() opener.addheaders=[('User-Agent','Mozila/5.0')] urllib.request.install_opener(opener) try:urllib.request.urlretrieve(img_src, f'{keyword}.pre/{i}.png') except: pass num+=1
- 2
- 3
- 436
질문&답변
큰 사진 변환이 잘 안됩니다.
감사합니다!
- 2
- 3
- 436