[python] Beautiful Soup로 특정 태그 수정하기

파이썬의 Beautiful Soup 라이브러리는 웹 크롤링과 스크래핑에 유용한 도구입니다. 이 라이브러리를 사용하면 HTML 및 XML 문서를 파싱하고, 원하는 데이터를 추출하고, 태그를 수정할 수 있습니다. 이번 포스트에서는 Beautiful Soup를 사용하여 특정 태그를 수정하는 방법에 대해 알아보겠습니다.

1. Beautiful Soup 설치하기

먼저 Beautiful Soup를 설치해야 합니다. 파이썬의 패키지 관리자인 pip를 사용하여 설치할 수 있습니다.

pip install beautifulsoup4

2. HTML 문서 파싱하기

먼저, 수정하고자 하는 HTML 문서를 파싱해야 합니다. Beautiful Soup를 사용하여 파싱할 수 있습니다. 다음은 예시로 사용할 HTML 문서의 내용입니다.

<html>
  <head>
    <title>Beautiful Soup Example</title>
  </head>
  <body>
    <h1>Original Heading</h1>
    <p>This is a paragraph.</p>
  </body>
</html>

이제 파이썬 코드에서 Beautiful Soup를 사용하여 HTML 문서를 파싱해보겠습니다.

from bs4 import BeautifulSoup

html = """
<html>
  <head>
    <title>Beautiful Soup Example</title>
  </head>
  <body>
    <h1>Original Heading</h1>
    <p>This is a paragraph.</p>
  </body>
</html>
"""

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

위 코드를 실행하면 HTML 문서가 파싱되어 soup 객체에 저장됩니다.

3. 특정 태그 수정하기

이제 soup 객체를 사용하여 원하는 태그를 선택하고 수정할 수 있습니다. 다음은 h1 태그의 내용을 변경하는 예시 코드입니다.

soup.h1.string = "Modified Heading"

위 코드를 실행하면 h1 태그의 내용이 “Modified Heading”으로 변경됩니다.

4. 수정된 HTML 내용 확인하기

마지막으로 수정된 HTML 내용을 확인하는 방법에 대해 알아보겠습니다. Beautiful Soup는 prettify() 메서드를 제공하여 보기 좋은 형식의 HTML로 출력할 수 있습니다.

print(soup.prettify())

실행 결과는 다음과 같습니다.

<html>
 <head>
  <title>
   Beautiful Soup Example
  </title>
 </head>
 <body>
  <h1>
   Modified Heading
  </h1>
  <p>
   This is a paragraph.
  </p>
 </body>
</html>

수정된 HTML 문서를 확인할 수 있습니다.


이처럼 Beautiful Soup를 사용하면 손쉽게 HTML 문서를 파싱하고 원하는 태그를 수정할 수 있습니다. Beautiful Soup의 세부 기능에 대한 자세한 내용은 공식 문서를 참고하시기 바랍니다.