작성
·
189
0
AttributeError Traceback (most recent call last)
<ipython-input-8-7192c5c336e6> in <module>() ----> 1 imageDown('유재석')
<ipython-input-5-04e1644ec3a6> in imageDown(keyword) 8 driver.get(url) 9 ---> 10 body = driver.find_element_by_css_selector('body') 11 12 # 페이지 다운시켜서 더 많은 이미지가 나오게 한다
답변 1
0
저도 같은 문제 생겨서 구글링해보니까 요렇게 바꿔서 됐어요 ㅋㅋ
def imageDown(keyword):
url = f'https://www.google.com.br/search?q={keyword}&source=lnms&tbm=isch'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver', chrome_options=chrome_options)
driver.get(url)
body = driver.find_element(By.CSS_SELECTOR, 'body')
# 페이지 다운시켜서 더 많은 이미지가 나오게 한다
for i in range(30):
body.send_keys(Keys.PAGE_DOWN)
time.sleep(0.5)#한번 드래그 후 sleep
imgs = driver.find_elements(By.CSS_SELECTOR, 'img.rg_i')
os.makedirs(keyword, exist_ok=True)
time.sleep(10)
for idx, img in enumerate(imgs):
# print(idx,img.get_attribute('src'))
imgUrl = img.get_attribute('src')
if imgUrl == None:
break
imgName = f'./{keyword}/{keyword+str(idx)}.jpg'
urllib.request.urlretrieve(imgUrl, imgName)