URL 이미지 일괄 다운로드 3가지 방법

URL 주소로 되어있는 이미지를 일괄 다운로드가 필요한 경우가 종종 있으시죠? 이번 포스팅에서는 URL 주소로 되어있는 이미지 일괄 다운로드 할 수 있는 3가지 방법을 살펴보겠습니다.


Table of Contents


URL 이미지 일괄 다운로드 : 엑셀 VBA

저는 현재 위탁판매 대량등록이라는 부업을 하고 있는데 도매처에 있는 많은 이미지를 다운해야 하는 경우가 많이 있습니다.

그래서 여기저기 자료를 찾다가 받게 된 자료입니다. 어떤 능력자분이 엑셀 VBA 파일로 만들어서 한 카페에 올리신 것 같은데요. 댓글들을 보면 다들 잘 되시는 것 같습니다.

>>>엑셀 VBA : 이미지 일괄 다운로드 받으러 바로가기 <<<

하지만 문제는 제 컴퓨터가 구려서 그런지, 아니면 엑셀버전이 2007버전이라 그런지 계속 아래와 같은 오류가 발생해서 다른 방법을 찾아보았습니다.

오류 화면

URL 이미지 일괄 다운로드 : 앱

엑셀을 최신버전을 깔아볼까 고민을 하다가 찾게 된 방법이 아래 영상인데요.

해당 유튜브 영상에서 알려준 것은 크롬 확장프로그램 Tab Save인데요. 제가 찾던 프로그램인 것 같아 바로 설치해 보았습니다.

>> Tab Save 설치 바로가기<<

결론적으로 이미지 다운로드는 되지만 생각보다 시간이 오래걸리고 , 제가 원하지 않는 파일도 다운되는 것 같아 또다시 다른 방법을 찾아보았습니다.

URL 이미지 일괄 다운로드 : 파이썬 코드

더 찾아 보았지만 쓸만한 자료를 찾지 못했고 그냥 새로운 엑셀버젼을 설치해야 하나 고민하던 찰나, 어떤 분이 파이썬 코드로 만들어 놓은 것을 발견하였습니다.

저는 예전에 한창 퀀트 투자를 공부할 때 대량 Data 분석 처리가 필요해서 야매로 파이썬을 공부해 놓았었는데요. 생각지 못하게 여기서 도움을 받게 되었습니다.

혹시 필요하신 분들을 위해 해당 파이썬 코드 공유드리오니, 참고 부탁드리겠습니다.

#필요한 모듈 import
import wget  
import openpyxl as xl # 엑셀읽고 쓰기
import time 
import pandas as pd
import os

#엑셀파일 경로정보 설정
dir = '../image/'
file_name = 'Book1'
file_type='.xlsx'
load_object = dir + file_name + file_type  # 변수 로드 경로 지정

#엑셀파일 읽기
wb = xl.load_workbook(load_object, data_only=True) # 엑셀파일을 열고 읽습니다.
ws = wb.worksheets[0] 

#이미지 다운로드 반복문 
for row, item in enumerate(ws.rows):
   
    if(row > 0): # 첫행이 제목이라면 다음행부터 

        url_path = item[0].value # 0번째 열 다운로드할 url 경로
        print(url_path)
        file_name = item[1].value+'.jpg' # 1번째 열의 정보를 파일이름.jpg로 저장
        save_file_path = '../image/' # 저장할 곳의 파일 경로
        try:   # 예외처리 문구
            wget.download(url_path , save_file_path+file_name)
            time.sleep(0.5) 
        except:
            print(file_name + '실패') # 저장 못한경우 프린트 되도록

참고로 위 코드는 어떤 분이 만들어 놓으신 코드를 제 파이썬 작업환경 과 파일경로에 맞게끔 수정한 코드이고 저의 파이썬 수준은 완전 초보입니다.

참고

Leave a Comment