Python – 구글 이미지 크롤링 & 다운로드 프로그램

강좌가 아니라 소스를 제공하는 글입니다!

구글 검색에 나오는 모든 이미지들을 다운로드하자!

Google Image Crawling에 들어간 라이브러리

  • Selenium Library for Crawling
  • Tkinter Library for GUI
  • Threading Library for Concurrency
  • Os Module for File Processing
  • Webbrower Module for Showing HTML Document
  • Urllib.request Module for Downloading

(프로그램 진행 화면)

1. webdriver를 생성 및 설정하는 과정입니다.
임시 윈도우에서 작업이 진행되며 Progress Bar로 진행 상태를 알립니다.

2. 설정을 마치고 윈도우 창에 들어온 상태입니다.

3. 필자의 닉네임으로 구글 이미지 검색을 해보았습니다.
Search Entry에 검색할 키워드를 적고 <Enter>를 누르면 웹 브라우저가 실행됩니다.

4. 이번에는 크롤링을 통해 <구글 이미지 검색>에 나온 모든 사진들을 다운로드해보았습니다.
Search Entry에 크롤링할 키워드를 적고 <F1>을 누르면 크롤링 및 다운로드가 진행됩니다.

5. 다운로드가 완료되면 이미지 파일이 저장된 디렉토리가 자동으로 열립니다.
[Go to Directory] 버튼을 통해 디렉토리를 수동으로 열 수도 있습니다.

디렉토리명: (사용자 입력 keyword)_img_download, 파일명: (사용자 입력 keyword)_(인덱스)

6. 하지만 원하는 이미지들만 저장되기는 쉽지 않습니다. 따라서 필요없는 이미지들은 삭제하였습니다.

7. 삭제를 완료하면 [Arrange File] 버튼을 통해 디렉토리를 정리할 수 있습니다.

8. 정리가 완료되면 위처럼 파일명이 순서대로 바뀌게 됩니다.

9. 이번에는 오른쪽 Entry에 수치를 추가하고 크롤링을 진행하였습니다.
수치를 추가하면 원하는 개수만큼 다운로드가 가능합니다.
위 예시는 10개의 이미지만 다운로드하는 모습입니다.

10. [Clear] 버튼을 누르면 모든 Text, Progress Bar가 초기화됩니다.

(프로그램 진행 과정)

드라이버 생성 및 설정 -> 키워드 입력 -> 다운로드 경로 지정 -> 구글 이미지 검색 접속 및 키워드 입력 -> 더 많은 이미지를 찾기 위한 스크롤링 -> 모든 이미지에 대한 url 크롤링 -> url을 통해 이미지 다운로드 -> 다운로드된 디렉토리 열기

(코드 및 파일 제공)

  • skiddieahn_crawling_cli.py: 구글 이미지 크롤링의 CLI 버전. 크롤링 과정을 이해하려면 이 코드를 이용하세요.
  • skiddieahn_crawling_gui.py: 구글 이미지 크롤링의 GUI 버전. 실제 사용을 하려면 이 코드를 이용하세요.
  • skd.ico: GUI(상단 바)에 사용되는 앱 아이콘
  • skd.jpg: GUI(임시 윈도우)에 사용되는 앱 이미지
  • chromedriver.exe: 크롤링에 필요한 웹 드라이버 (Chrome을 자동으로 제어하는 기능) – 버전 96.0.4664.110


(참고 자료)

Selenium을 이용한 구글 검색 이미지 크롤링 하기 [상엽’s Python 블로그]

Leave a Reply

Your email address will not be published. Required fields are marked *