google images download

yerimstar·2021년 6월 23일
0

패키지 설치 에러

이미지 데이터 셋을 추출해야 했고 google_images_download라는 패키지를 찾았다.
+2021.06.16 기준 그냥 pip install google_images_download를 하면 error가 발생한다.
참고 사이트

해결법

나는 pip install이 편해서 그냥 pip install git+https://github.com/Joeclinton1/google-images-download.git 이렇게 설치해주었다. 기존에 다운받은 google_images_download 패키지가 있다면 uninstall을 먼저 해주어야 한다.

크롤링 코드

limit 100개 미만

from google_images_download import google_images_download

def googleImageCrawling(keyword,limit):
    response = google_images_download.googleimagesdownload()
    arguments = {"keywords":keyword,"limit":limit,"print_urls":True,"format":"jpg"}
    paths = response.download(arguments)
    print(paths)

keyword = input("키워드 입력하세요 : ")
limit = input("이미지 개수를 입력하세요 : ")
googleImageCrawling(keyword,int(limit))

위와 같은 코드로 돌렸더니 limit 값이 100개까지만 허용되었다. 한 번에 더 많은 데이터를 저장하고 싶었기에...방법을 찾아보던 중 chromedriver를 통해 해결할 수 있다는 것을 발견했다.

limit 100개 이상 - 크롬 드라이버 경로 미설정

from google_images_download import google_images_download

def googleImageCrawling(keyword,limit):
    response = google_images_download.googleimagesdownload()
    arguments = {"keywords":keyword,"limit":limit,"print_urls":True,"chromedriver":"chromedriver","format":"jpg"}
    paths = response.download(arguments)
    print(paths)

keyword = input("키워드 입력하세요 : ")
limit = input("이미지 개수를 입력하세요 : ")
googleImageCrawling(keyword,int(limit))

따라서 현재 내 맥북에 설치된 크롬의 버전을 확인하고 크롬드라이버를 다운받았다..(사실 전에 다른 크롤링 작업을 하면서 다운 받았던 exe 파일이 있어서 ctrl+c,ctrl+v 해주었다..ㅎㅎ)

그리고 실행을 했는데
Looks like we cannot locate the path the 'chromedriver' (use the '--chromedriver' argument to specify the path to the executable.) or google chrome browser is not installed on your machine (exception: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
)

위와 같은 에러가 발생했다...경로지정을 해주지 않아서 생기는 문제였고 코드를 다시 보니 크롬드라이버의 경로를 지정해주지 않았던 것이였다..ㅜㅜ

limit 100개 이상 - 크롬 드라이버 경로 설정 ( 최종 코드 )

from google_images_download import google_images_download

def googleImageCrawling(keyword,limit):
    response = google_images_download.googleimagesdownload()
    arguments = {"keywords":keyword,"limit":limit,"print_urls":True,"chromedriver":"./chromedriver","format":"jpg"}
    paths = response.download(arguments)
    print(paths)

keyword = input("키워드 입력하세요 : ")
limit = input("이미지 개수를 입력하세요 : ")
googleImageCrawling(keyword,int(limit))


난 크롬드라이버를 현재 진행하고 있는 프로젝트의 폴더 내에 넣어주었기에 "./chromedriver"라는 경로로 지정해주었다...경로 지정의 중요함을 한 번 더 느꼈다..하하하 무튼,,,이제는 100개 이상의 이미지를 다운 받을 수 있게 되었다 ! ㅎㅎ

profile
백엔드 개발자

0개의 댓글