[python] 이미지 크롤링 및 다운로드하기

목차

이미지 크롤링이란?

이미지 크롤링이란, 웹사이트나 웹 페이지에서 이미지를 수집하여 가져오는 과정을 말합니다. 이를 통해 웹상의 다양한 이미지를 수집하거나 원하는 이미지를 자동으로 다운로드할 수 있습니다.

필요한 라이브러리 설치

이번 예제에서는 이미지 다운로드를 위해 requests 라이브러리를, 이미지 처리를 위해 BeautifulSoup 라이브러리를 사용할 것입니다. 이 라이브러리들을 설치해야 합니다.

pip install requests
pip install beautifulsoup4

이미지 크롤링과 다운로드하는 방법

아래는 Python을 사용하여 이미지를 크롤링하고 다운로드하는 간단한 예제입니다.

import requests
from bs4 import BeautifulSoup
import os

url = 'http://example.com'  # 크롤링할 웹 페이지의 URL
save_folder = 'images'  # 이미지를 저장할 폴더

if not os.path.exists(save_folder):  # 이미지를 저장할 폴더가 없으면 생성
    os.makedirs(save_folder)

response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

img_tags = soup.find_all('img')  # 웹 페이지에서 모든 이미지 태그 찾기

for img in img_tags:
    img_url = img['src']  # 이미지 태그에서 src 속성의 값 가져오기
    img_name = img_url.split('/')[-1]  # 이미지 URL에서 파일명 추출

    img_data = requests.get(img_url).content  # 이미지 URL로부터 이미지 데이터 가져오기

    with open(os.path.join(save_folder, img_name), 'wb') as f:  # 이미지를 지정한 폴더에 저장
        f.write(img_data)

print('이미지 다운로드 완료')

위 코드는 쉽게 말해 웹 페이지를 가져와서 이미지 태그를 찾고, 각 이미지의 URL로부터 이미지 데이터를 다운로드하여 폴더에 저장하는 예제입니다.

결론

이렇게 Python을 사용하여 웹 페이지에서 이미지를 크롤링하고 다운로드하는 방법에 대해 알아보았습니다. 이미지 크롤링은 웹 스크래핑의 한 형태로, 웹 상의 다양한 이미지를 자동으로 가져올 수 있어 매우 유용합니다. 위의 예제 코드를 참고하여 여러분만의 이미지 크롤링 프로그램을 만들어보세요!