[파이썬] 웹 페이지의 이미지 추출

이미지는 웹 페이지에서 중요한 자산이다. 때로는 웹 페이지에서 이미지를 추출하여 데이터 분석, 시각화, 머신 러닝 등 다양한 작업에 활용해야 할 때가 있다. 이 튜토리얼은 Python을 사용하여 웹 페이지에서 이미지를 추출하는 방법을 알려준다.

라이브러리 설치

이미지 추출을 위해 우리는 Python의 requestsBeautifulSoup 라이브러리를 사용할 것이다. requests는 웹 페이지에 대한 요청을 보내고, BeautifulSoup은 HTML을 파싱하여 원하는 요소를 추출하는 데 사용된다.

pip install requests beautifulsoup4

웹 페이지에서 이미지 추출하기

다음은 Python을 사용하여 웹 페이지에서 이미지를 추출하는 간단한 예제 코드이다.

import requests
from bs4 import BeautifulSoup

# 웹 페이지 URL
url = "https://www.example.com"

# 웹 페이지에 GET 요청 보내기
response = requests.get(url)

# GET 요청이 성공했는지 확인
if response.status_code == 200:
    # BeautifulSoup을 사용하여 HTML 파싱
    soup = BeautifulSoup(response.content, "html.parser")

    # 모든 이미지 태그 추출
    image_tags = soup.find_all("img")

    # 이미지 URL 추출 및 다운로드
    for img in image_tags:
        img_url = img["src"]
        # 이미지 URL을 사용하여 이미지 다운로드 로직 추가
        
else:
    print("Error:", response.status_code)

이 예제 코드는 웹 페이지에서 모든 이미지 태그를 추출한 다음, 각 이미지 태그에서 src 속성을 사용하여 이미지 URL을 얻는다. 그리고 나서 해당 이미지 URL을 사용하여 이미지를 다운로드하는 로직을 추가해야 한다.

이미지 다운로드

이미지 URL을 사용하여 이미지를 다운로드하는 가장 간단한 방법은 requests 라이브러리의 get() 메서드를 사용하는 것이다.

import requests

# 이미지 URL
image_url = "https://www.example.com/images/example.jpg"

# 이미지 다운로드
image_data = requests.get(image_url).content

# 이미지 파일로 저장
with open("example.jpg", "wb") as file:
    file.write(image_data)

위의 예제 코드는 주어진 이미지 URL에서 이미지 데이터를 가져온 다음, 해당 데이터를 이미지 파일로 저장한다. 적절한 파일 이름과 경로를 지정하여 이미지를 저장할 수 있다.

정리

Python을 사용하여 웹 페이지에서 이미지를 추출하는 방법에 대해 알아보았다. requestsBeautifulSoup 라이브러리를 사용하여 웹 페이지에 대한 요청을 보내고, HTML을 파싱하여 원하는 이미지를 추출할 수 있다. 또한, requests 라이브러리를 사용하여 이미지 URL을 가져와 이미지를 다운로드할 수 있다.

이미지 추출은 웹 크롤링, 이미지 처리 및 분석, 자동화 등 다양한 프로젝트에서 유용하게 사용될 수 있는 기능이다. Python을 사용하면 쉽게 웹 페이지에서 이미지를 추출할 수 있으므로, 다양한 활용 방법을 고려해보기 바란다.