[python] Beautiful Soup로 웹 페이지에서 특정 속성으로 필터링하기

이번 포스트에서는 Beautiful Soup 라이브러리를 사용하여 웹 페이지에서 특정 속성을 필터링하는 방법에 대해 알아보겠습니다. Beautiful Soup은 HTML 및 XML 문서를 파싱하고 탐색하는 데 사용되는 강력한 라이브러리입니다.

필요한 라이브러리 설치하기

먼저, Beautiful Soup을 사용하기 위해 필요한 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 pip를 통해 Beautiful Soup을 설치할 수 있습니다.

pip install beautifulsoup4

웹 페이지 소스 코드 가져오기

Beautiful Soup을 사용하여 웹 페이지에서 특정 속성을 필터링하기 위해 먼저 웹 페이지의 소스 코드를 가져와야 합니다. 이를 위해 requests 라이브러리를 사용할 수 있습니다. 다음은 requests 라이브러리를 사용하여 웹 페이지의 소스 코드를 가져오는 예제입니다.

import requests

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

Beautiful Soup으로 소스 코드 파싱하기

Beautiful Soup을 사용하여 소스 코드를 파싱하여 원하는 부분을 추출할 수 있습니다. 다음은 BeautifulSoup 객체를 생성하고 파싱하는 예제입니다.

from bs4 import BeautifulSoup

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

특정 속성으로 필터링하기

이제 Beautiful Soup을 사용하여 웹 페이지에서 특정 속성으로 필터링할 수 있습니다. 예를 들어, class 속성이 “title”인 모든 <div> 요소를 추출하려면 다음과 같이 코드를 작성할 수 있습니다.

filtered_divs = soup.find_all("div", class_="title")

for div in filtered_divs:
    print(div.text)

위의 코드에서 find_all 메서드는 특정 태그와 속성을 가진 요소를 모두 추출합니다. 이를 원하는 방식에 맞게 활용할 수 있습니다.

마치며

이번 포스트에서는 Beautiful Soup을 사용하여 웹 페이지에서 특정 속성을 필터링하는 방법에 대해 알아보았습니다. Beautiful Soup은 웹 스크래핑 작업을 더 쉽고 편리하게 만들어주는 강력한 도구입니다. 자세한 내용은 Beautiful Soup 공식 문서를 참고하시기 바랍니다.

Happy coding!