[파이썬] Beautiful Soup 4 ID 속성으로 검색하기

이번 블로그에서는 Python의 라이브러리인 Beautiful Soup 4을 사용하여 HTML 문서에서 ID 속성을 이용해 특정 요소를 검색하는 방법에 대해 알아보겠습니다.

Beautiful Soup 4

Beautiful Soup 4 (이하 BS4)은 Python으로 작성된 HTML/XML 파싱 라이브러리입니다. 이 라이브러리를 사용하면 웹 페이지나 문서에서 데이터를 추출하고 조작할 수 있습니다. BS4는 파이썬의 내장 모듈인 urllib 또는 requests와 함께 사용하는 것이 일반적입니다.

검색하기

BS4를 사용하면 특정 요소를 검색하는 다양한 방법이 제공됩니다. 이 중에서 ID 속성을 활용하여 요소를 검색하는 방법에 대해 알아보겠습니다.

HTML 문서에서 ID는 고유한 식별자로 사용되며, 각 요소에 대해 유일해야 합니다. 따라서 ID 속성을 사용하면 원하는 요소를 정확하게 찾을 수 있습니다.

아래의 예제 코드에서는 BS4를 사용하여 “my-element”라는 ID를 가지고 있는 요소를 찾고 출력하는 과정을 보여줍니다.

from bs4 import BeautifulSoup

html_doc = """
<html>
  <head>
    <title>Beautiful Soup 4 ID 속성으로 검색 예제</title>
  </head>
  <body>
    <div id="my-element">
      <h1>Title</h1>
      <p>Lorem ipsum dolor sit amet.</p>
    </div>
    <div>
      <h2>Subtitle</h2>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    </div>
  </body>
</html>
"""

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

# ID 속성을 이용해 요소 검색
element = soup.find(id="my-element")

# 결과 출력
print(element)

위의 코드를 실행하면 다음과 같은 결과가 출력됩니다.

<div id="my-element">
  <h1>Title</h1>
  <p>Lorem ipsum dolor sit amet.</p>
</div>

위의 예제에서는 soup.find() 메소드를 사용하여 ID 속성이 “my-element”인 요소를 찾았습니다. 검색 결과로 해당 요소의 전체 내용(html 태그 포함)을 가져오게 됩니다. 필요에 따라 요소의 특정 부분만 사용할 수도 있습니다.

Beautiful Soup 4의 더 많은 검색 기능과 사용법에 대해서는 공식 문서를 참조하시기 바랍니다.