Python

PYTHON - 예외처리와 모듈 (Chapter 7-38. 외부모듈)

Chansman 2025. 3. 14. 13:32

📚 Chapter 7-6. 외부 모듈

✅ 1. 외부 모듈이란?

파이썬의 강력한 기능 중 하나는 다양한 외부 모듈의 활용입니다. 이러한 모듈들은 특정 기능을 수행하는 코드 집합으로, 개발자가 직접 구현하지 않고도 다양한 기능을 사용할 수 있게 해줍니다.

예를 들어:

  • 📊 인공지능 분야: TensorFlow, scikit-learn 등
  • 🌐 웹 개발 분야: Django, FastAPI 등

이러한 외부 모듈을 사용하면 개발 효율성과 생산성을 크게 향상시킬 수 있습니다.


✅ 2. 외부 모듈 설치 방법

외부 모듈은 pip 명령어를 사용하여 설치할 수 있습니다.

  • pip는 파이썬 패키지 관리자 도구로, **PyPI(Python Package Index)**에 등록된 패키지를 쉽게 설치하고 관리할 수 있게 해줍니다.

📄 기본 설치 명령어

pip install 모듈이름

📄 예시: beautifulsoup4 설치

pip install beautifulsoup4

설치가 완료되면, 파이썬 코드에서 **import**를 통해 사용할 수 있습니다.

⚠️ Mac 사용 시

pip3 install beautifulsoup4

또는 Homebrew를 사용하는 경우:

brew install beautifulsoup4

✅ 3. 실습: 기상청 RSS 서비스 활용하기

외부 모듈을 활용하여 실제 데이터를 처리하는 예제를 살펴보겠습니다.

기상청에서 제공하는 전국 기상 정보를 RSS 형태로 받아와서 파싱하는 작업을 수행해 보겠습니다.

📄 기상청 중기예보 RSS 주소

http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108

🛠️ 사용할 외부 모듈

  • urllib : URL을 통해 데이터를 가져오는 모듈
  • BeautifulSoup : HTML, XML 데이터를 파싱하는 모듈

📑 Python 코드 예시

from urllib import request
from bs4 import BeautifulSoup

# ✅ 기상청 RSS 데이터 가져오기
target = request.urlopen("http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108")

# ✅ BeautifulSoup을 사용하여 XML 파싱
soup = BeautifulSoup(target, "html.parser")

# ✅ 각 지역의 날씨 정보 출력
for location in soup.select("location"):
    city = location.select_one("city").string
    weather = location.select_one("wf").string
    tmin = location.select_one("tmn").string
    tmax = location.select_one("tmx").string
    
    print(f"도시: {city}")
    print(f"날씨: {weather}")
    print(f"최저기온: {tmin}℃")
    print(f"최고기온: {tmax}℃")
    print()

출력 예시

도시: 서울
날씨: 구름많음
최저기온: 10℃
최고기온: 20℃

도시: 부산
날씨: 맑음
최저기온: 12℃
최고기온: 22℃

Tip: BeautifulSoup을 활용하면 웹에서 손쉽게 정보를 가져와 파싱할 수 있어, 웹 스크래핑 작업에 매우 유용합니다.


✅ 이해도 체크리스트

⚠️ 해당 체크리스트는 본 챕터의 이해도를 확인하는 문제입니다. 대답에 어려움을 느끼신다면, 다시 한번 내용을 복습해 주세요.

  1. 외부 모듈을 설치하기 위한 명령어는 무엇인가요?
    • 정답: pip install 모듈이름
  2. BeautifulSoup 모듈은 어떤 역할을 하나요?
    • 정답: 웹에서 가져온 HTML이나 XML 데이터를 쉽게 파싱할 수 있도록 도와주는 모듈입니다.
  3. RSS 데이터에서 select_one() 메서드의 역할은 무엇인가요?
    • 정답: HTML 또는 XML 문서에서 첫 번째로 매칭되는 요소를 선택하여 가져옵니다.
  4. urllib 모듈은 어떤 기능을 하나요?
    • 정답: 웹에서 데이터를 가져오는 역할을 합니다.

이렇게 외부 모듈을 적극 활용하면, 파이썬을 통해 더욱 강력하고 효율적인 프로그램을 작성할 수 있습니다. 🚀

📢 다음 학습에서는 더 심화된 외부 모듈 사용법을 다룰 예정입니다.