[python] Beautiful Soup로 HTML 파싱하기

Python의 Beautiful Soup 라이브러리는 HTML 또는 XML 문서를 구문 분석하고 원하는 요소를 추출하는 데 사용됩니다. 이를 통해 웹 스크래핑을 할 때 효과적으로 데이터를 추출할 수 있습니다.

Beautiful Soup 설치

Beautiful Soup은 pip를 통해 간단하게 설치할 수 있습니다. 다음 명령어를 사용하여 설치합니다.

pip install beautifulsoup4

Beautiful Soup 사용법

Beautiful Soup 사용을 시작하기 전에, parsing할 HTML 문서를 로드해야 합니다. 아래 예제는 requests 라이브러리를 사용하여 웹 페이지를 가져오는 방법을 보여줍니다.

import requests

url = "https://example.com"
response = requests.get(url)
html = response.text

이제 html 변수에 HTML 문서가 저장되었습니다. 이제 Beautiful Soup을 사용하여 문서를 파싱할 수 있습니다. 아래 예제는 html.parser를 사용하여 HTML을 파싱하는 방법을 보여줍니다.

from bs4 import BeautifulSoup

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

이제 soup 변수에 Beautiful Soup 객체가 저장되었습니다. 이제 원하는 요소를 찾아서 추출할 수 있습니다. 예를 들어, <title> 태그의 내용을 가져오려면 다음과 같이 작성할 수 있습니다.

title = soup.title
print(title.string)

마찬가지로, <a> 태그의 모든 링크를 가져오려면 다음과 같은 코드를 사용할 수 있습니다.

links = soup.find_all('a')
for link in links:
    print(link.get('href'))

Beautiful Soup은 CSS 선택자를 사용하여 요소를 검색하는 유용한 기능도 제공합니다. 예를 들어, 클래스가 “post”인 모든 <div> 요소를 찾으려면 다음과 같은 코드를 사용할 수 있습니다.

divs = soup.select('div.post')
for div in divs:
    print(div.get_text())

Beautiful Soup의 더 자세한 사용법은 공식 문서를 참조하시기 바랍니다.

결론

Beautiful Soup은 Python에서 HTML 파싱을 간편하게 처리할 수 있는 강력한 도구입니다. 이를 통해 웹 스크래핑 작업을 보다 쉽고 효율적으로 수행할 수 있습니다.