[python] Beautiful Soup로 CSS 선택자 활용하기
웹 스크레이핑을 할 때 HTML 문서의 특정 요소를 선택하고 추출하는 것은 매우 중요합니다. 이를 위해 Beautiful Soup 라이브러리를 사용할 수 있으며, Beautiful Soup은 HTML 및 XML 문서를 파싱하기 위한 파이썬 라이브러리입니다.
HTML 문서에서 CSS 선택자를 사용하면 특정 요소를 선택하고 추출하기가 훨씬 더 쉬워집니다. Beautiful Soup는 이러한 CSS 선택자를 지원하기 때문에, HTML 문서에서 원하는 정보를 추출하는 작업을 간단하게 수행할 수 있습니다.
아래는 Beautiful Soup를 사용하여 CSS 선택자를 활용하는 간단한 예제입니다.
from bs4 import BeautifulSoup
html = """
<html>
<head>
<title>웹 스크레이핑 예제</title>
</head>
<body>
<div class="content">
<h1>제목</h1>
<p>이것은 예제 문장입니다.</p>
<ul>
<li>첫 번째 항목</li>
<li>두 번째 항목</li>
<li>세 번째 항목</li>
</ul>
</div>
</body>
</html>
"""
soup = BeautifulSoup(html, "html.parser")
# h1 태그 선택
title = soup.select_one("h1").text
print(title)
# p 태그 선택
paragraph = soup.select_one("p").text
print(paragraph)
# ul 태그 아래의 모든 li 태그 선택
items = soup.select("ul li")
for item in items:
print(item.text)
위의 예제 코드에서는 Beautiful Soup의 select_one
및 select
메소드를 사용하여 CSS 선택자를 지정합니다. select_one
메소드는 해당 선택자로 첫 번째 요소를 선택하며, select
메소드는 해당 선택자로 모든 요소를 선택합니다. 결과적으로, 위의 코드는 HTML 문서에서 h1 태그의 텍스트, p 태그의 텍스트, 그리고 ul 태그 아래의 모든 li 태그의 텍스트를 추출합니다.
Beautiful Soup를 사용하여 CSS 선택자를 활용하면 웹 스크레이핑 작업을 효율적으로 수행할 수 있습니다. 또한, Beautiful Soup는 다양한 CSS 선택자 구문을 지원하므로 필요한 요소를 정확하게 선택할 수 있습니다.
더 자세한 내용은 Beautiful Soup 문서를 참조하시기 바랍니다.
- Beautiful Soup 문서: https://www.crummy.com/software/BeautifulSoup/bs4/doc/