[python] Beautiful Soup로 웹 페이지에서 특정 속성으로 그룹화하기
이 글에서는 Beautiful Soup라는 파이썬 라이브러리를 사용하여 웹 페이지에서 특정 속성으로 그룹화하는 방법에 대해 알아보겠습니다.
Beautiful Soup이란?
Beautiful Soup은 웹 스크래핑에 사용되는 파이썬 라이브러리로, HTML과 XML 문서를 파싱하고 원하는 데이터를 추출하는 기능을 제공합니다.
설치
Beautiful Soup을 사용하기 위해서는 먼저 파이썬 패키지 관리자인 pip를 사용하여 설치해야 합니다. 다음 명령어로 설치할 수 있습니다.
pip install beautifulsoup4
웹 페이지에서 속성으로 그룹화하기
이제 Beautiful Soup을 사용하여 웹 페이지에서 특정 속성으로 그룹화하는 방법을 알아보겠습니다. 예시로 아래와 같은 HTML 코드가 있다고 가정해보겠습니다.
<html>
<body>
<div class="group1">
<p>Group 1 - Item 1</p>
<p>Group 1 - Item 2</p>
<p>Group 1 - Item 3</p>
</div>
<div class="group2">
<p>Group 2 - Item 1</p>
<p>Group 2 - Item 2</p>
<p>Group 2 - Item 3</p>
</div>
<div class="group1">
<p>Group 1 - Item 4</p>
<p>Group 1 - Item 5</p>
<p>Group 1 - Item 6</p>
</div>
</body>
</html>
위의 HTML 코드에서 “group1” 클래스와 “group2” 클래스로 그룹화된 요소들을 추출해보겠습니다.
from bs4 import BeautifulSoup
html = """
<html>
<body>
<div class="group1">
<p>Group 1 - Item 1</p>
<p>Group 1 - Item 2</p>
<p>Group 1 - Item 3</p>
</div>
<div class="group2">
<p>Group 2 - Item 1</p>
<p>Group 2 - Item 2</p>
<p>Group 2 - Item 3</p>
</div>
<div class="group1">
<p>Group 1 - Item 4</p>
<p>Group 1 - Item 5</p>
<p>Group 1 - Item 6</p>
</div>
</body>
</html>
"""
soup = BeautifulSoup(html, 'html.parser')
groups = soup.find_all("div", class_=["group1", "group2"])
for group in groups:
items = group.find_all("p")
group_items = [item.get_text() for item in items]
print(f"Group: {group['class']}")
print("Items:")
for item in group_items:
print(f"- {item}")
print("-" * 10)
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
Group: ['group1']
Items:
- Group 1 - Item 1
- Group 1 - Item 2
- Group 1 - Item 3
----------
Group: ['group2']
Items:
- Group 2 - Item 1
- Group 2 - Item 2
- Group 2 - Item 3
----------
Group: ['group1']
Items:
- Group 1 - Item 4
- Group 1 - Item 5
- Group 1 - Item 6
----------
위의 결과에서 볼 수 있듯이 “group1”과 “group2”로 그룹화된 요소들을 추출할 수 있습니다. 이를 통해 Beautiful Soup을 사용하여 웹 페이지에서 특정 속성으로 그룹화하는 작업을 수행할 수 있습니다.
마무리
이번 글에서는 Beautiful Soup을 사용하여 웹 페이지에서 특정 속성으로 그룹화하는 방법에 대해 알아보았습니다. Beautiful Soup은 웹 스크래핑 작업을 수행할 때 매우 유용한 도구이므로, 웹 데이터 분석 등 다양한 분야에서 활용할 수 있습니다.