게시글 삭제
정말 삭제하시겠습니까?
혼자 공부하는 파이썬 개정판 92강 - BeautifulSoup 외부 모듈(라이브러리) 사용해보기
[주요 목차]
외부 모듈과 기본 내장 모듈의 차이
BeautifulSoup4 설치부터 import까지
기상청 RSS 데이터로 날씨 정보 가져오기
혼자서 파이썬을 공부하다 보면 어느 순간 “이제 뭐 해볼까?” 하는 고민이 생기죠. 기본 문법을 끝내고 나면 웹 데이터를 긁어오거나 간단한 프로그램을 만들고 싶어지는데, 그때 필요한 게 바로 외부 모듈입니다. 오늘은 BeautifulSoup이라는 외부 모듈을 통해 실제로 데이터를 가져오는 과정을 따라가 보겠습니다. 이 글을 읽고 나면 pip으로 모듈을 설치하고, 공식 문서를 보면서 바로 활용하는 방법을 완전히 이해할 수 있어요.
혼자 공부하는 파이썬 개정판 92강 - BeautifulSoup 외부 모듈(라이브러리) 사용해보기 · 참고 컷 1
외부 모듈과 기본 내장 모듈의 차이
파이썬을 처음 배울 때는 math, sys 같은 모듈을 많이 쓰죠. 이들은 파이썬이 기본으로 제공하는 내장 모듈입니다. 반대로 다른 개발자들이 만들어서 배포하는 모듈을 외부 모듈이라고 불러요.
외부 모듈을 쓰면 웹 서버를 만들거나, 데이터를 수집하거나, 간단한 AI 모델까지 만들 수 있어요. 그래서 파이썬 문법을 어느 정도 익힌 뒤에는 외부 모듈을 배우는 단계로 넘어가게 됩니다.
어떤 외부 모듈을 써야 할지 모르겠다면 세 가지 방법을 추천해요. 첫째, 관심 있는 주제의 책을 보면 자연스럽게 추천 모듈이 나와요. 둘째, 파이썬 커뮤니티나 Facebook 그룹에서 트렌드를 확인할 수 있어요. 셋째, 그냥 구글에 “파이썬 웹캠”처럼 하고 싶은 일을 검색해 보세요.
혼자 공부하는 파이썬 개정판 92강 - BeautifulSoup 외부 모듈(라이브러리) 사용해보기 · 참고 컷 2
BeautifulSoup4 설치부터 import까지
BeautifulSoup4는 HTML이나 XML을 쉽게 다루게 해주는 외부 모듈이에요. 공식 사이트에 들어가면 설치 명령어가 바로 나와요. 터미널에서 pip install beautifulsoup4라고 입력하면 끝입니다.
설치가 끝나면 import 구문을 확인해야 해요. 공식 문서에 나오는 대로 from bs4 import BeautifulSoup라고 쓰는 게 가장 일반적입니다. 다른 방식으로 import해도 되지만, 모듈 제작자가 권장하는 방법을 따르는 게 나중에 오류가 적어요.
설치 후 바로 테스트해 보세요. Visual Studio Code에서 새 터미널을 열고 위 명령어를 실행해 보세요. 설치가 완료되면 “Successfully installed” 문구가 나와요. 이 과정을 한 번 해두면 나중에 다른 외부 모듈도 같은 방식으로 설치할 수 있어요.
혼자 공부하는 파이썬 개정판 92강 - BeautifulSoup 외부 모듈(라이브러리) 사용해보기 · 현장 스냅 3
기상청 RSS 데이터로 날씨 정보 가져오기
기상청 RSS 주소를 requests 모듈로 불러온 뒤, BeautifulSoup으로 파싱해 보죠. 먼저 import requests와 from bs4 import BeautifulSoup를 작성하세요.
rss_url = "기상청 중기예보 RSS 주소"처럼 문자열로 저장한 다음, requests.get으로 데이터를 가져옵니다. 그 결과를 BeautifulSoup에 넣고 parser를 html.parser로 지정하면 돼요.
이제 soup.select("location")으로 지역 태그를 모두 찾고, 반복문으로 ct 태그의 텍스트를 출력해 보세요. tmef, wf, tmn, tmx 같은 날씨 정보도 같은 방식으로 추출할 수 있어요.
실행 결과로 전국 지역의 현재 날씨와 최저·최고 기온이 한 번에 출력됩니다. 이 코드를 조금만 수정하면 다른 XML 데이터도 쉽게 분석할 수 있어요. BeautifulSoup은 문서만 잘 보면 금방 응용할 수 있으니, 관심 있으면 데이터 크롤링 책으로 바로 넘어가 보세요.
[자주 묻는 질문]
BeautifulSoup을 설치했는데 import 오류가 나와요.?
pip install beautifulsoup4 명령어가 제대로 실행됐는지 먼저 확인하세요. 가상환경을 쓰고 있다면 해당 환경에서 설치했는지 체크해야 해요. 설치 후에도 오류가 나면 from bs4 import BeautifulSoup로 정확히 입력했는지 다시 보세요. 대부분 오타나 환경 문제 때문입니다.
BeautifulSoup으로 XML 대신 HTML을 파싱하려면 어떻게 하나요?
parser만 html.parser로 바꾸면 돼요. requests로 HTML 페이지를 가져온 뒤 BeautifulSoup(html.text, 'html.parser')처럼 사용하면 됩니다. select나 select_one 메서드는 XML과 HTML 모두 동일하게 동작하니 바로 적용할 수 있어요.
외부 모듈을 찾는 가장 빠른 방법이 있나요?
하고 싶은 일을 구글에 “파이썬 ○○” 형식으로 검색하는 게 제일 빠릅니다. 예를 들어 “파이썬 웹캠”이라고 치면 cv2나 관련 라이브러리가 바로 나와요. 책이나 커뮤니티는 좀 더 체계적으로 알고 싶을 때 활용하세요.