인프런 커뮤니티 질문&답변

aris0610님의 프로필 이미지
aris0610

작성한 질문수

닮은 연예인 찾기 서비스 제작 With 티처블머신

연예인 사진 크롤링

에러 발생

작성

·

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     # 페이지 다운시켜서 더 많은 이미지가 나오게 한다

AttributeError: 'WebDriver' object has no attribute 'find_element_by_css_selector'

답변 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)
aris0610님의 프로필 이미지
aris0610

작성한 질문수

질문하기