[python] 파이썬 BeautifulSoup의 사용 방법

파이썬의 BeautifulSoup은 HTML 및 XML 문서를 구문 분석하고 처리하는 데 사용되는 라이브러리입니다. 이 라이브러리는 웹 스크래핑, 데이터 마이닝, 웹 자동화 등 다양한 작업에 유용하게 사용됩니다. 이번 포스트에서는 BeautifulSoup의 기본적인 사용 방법에 대해 알아보겠습니다.

BeautifulSoup 설치

BeautifulSoup을 사용하기 위해서는 먼저 라이브러리를 설치해야 합니다. 아래의 명령을 사용하여 BeautifulSoup을 설치할 수 있습니다.

pip install beautifulsoup4

BeautifulSoup 사용하기

BeautifulSoup을 사용하기 위해서는 다음과 같이 라이브러리를 임포트해야 합니다.

from bs4 import BeautifulSoup

HTML 문서 파싱하기

HTML 문서를 파싱하기 위해서는 BeautifulSoup 클래스의 인스턴스를 생성해야 합니다. 이때, 첫 번째 매개 변수로 파싱할 HTML 문서를 전달해야 합니다.

html_doc = '''
<html>
  <head>
    <title>BeautifulSoup</title>
  </head>
  <body>
    <h1>HTML 파싱 예제</h1>
    <p class="content">BeautifulSoup은 파이썬에서 HTML을 쉽게 파싱하기 위한 라이브러리입니다.</p>
    <a href="https://www.crummy.com/software/BeautifulSoup/">더 알아보기</a>
    <ul>
      <li>리스트 항목 1</li>
      <li>리스트 항목 2</li>
      <li>리스트 항목 3</li>
    </ul>
  </body>
</html>
'''

soup = BeautifulSoup(html_doc, 'html.parser')

HTML 요소 선택하기

파싱된 HTML 문서에서 원하는 요소를 선택하기 위해서는 CSS 선택자를 사용합니다. 아래는 CSS 선택자를 사용하여 원하는 요소를 선택하는 예제입니다.

# 태그 이름으로 선택하기
title = soup.select('title')[0]
print(title.text)

# 클래스로 선택하기
content = soup.select('.content')[0]
print(content.text)

# 속성으로 선택하기
link = soup.select('a[href="https://www.crummy.com/software/BeautifulSoup/"]')[0]
print(link.text)

# id로 선택하기
heading = soup.select('#my-heading')[0]
print(heading.text)

데이터 추출하기

선택한 요소에서 데이터를 추출하기 위해서는 .text 속성을 사용합니다. 아래는 데이터를 추출하는 예제입니다.

print(title.text)
print(content.text)
print(link.text)

위와 같이 BeautifulSoup 라이브러리를 사용하여 HTML 문서를 파싱하고 원하는 요소를 선택하고 데이터를 추출할 수 있습니다. BeautifulSoup의 강력한 기능을 활용하여 웹 스크래핑 작업을 효과적으로 수행할 수 있습니다.

더 자세한 내용은 BeautifulSoup 공식 문서를 참조하시기 바랍니다.