Beautiful Soup은 파이썬의 웹 스크래핑 라이브러리로, HTML 및 XML 문서를 파싱하여 데이터를 추출하는 데 사용됩니다. 이 글에서는 Beautiful Soup을 사용하여 웹 페이지에서 특정 폼 요소의 속성을 추출하는 방법을 알아보겠습니다.
1. Beautiful Soup 설치하기
Beautiful Soup을 사용하기 위해 먼저 아래의 명령어를 사용하여 Beautiful Soup을 설치해야 합니다.
pip install beautifulsoup4
2. 웹 페이지에서 HTML 가져오기
Beautiful Soup을 사용하여 웹 페이지의 HTML을 가져오기 위해 requests
라이브러리를 사용합니다. 아래의 예제 코드를 통해 웹 페이지의 HTML을 가져옵니다.
import requests
from bs4 import BeautifulSoup
# 웹 페이지 URL
url = "https://example.com"
# GET 요청으로 HTML 가져오기
response = requests.get(url)
# HTTP 요청이 성공한 경우에만 계속 진행
if response.status_code == 200:
html = response.text
else:
print("웹 페이지를 가져오는 데 실패했습니다.")
3. HTML 파싱하기
Beautiful Soup을 사용하여 가져온 HTML을 파싱합니다. 아래의 코드를 사용하여 BeautifulSoup 객체를 생성합니다.
# BeautifulSoup 객체 생성
soup = BeautifulSoup(html, "html.parser")
4. 폼 요소 속성 추출하기
특정 폼 요소의 속성을 추출하기 위해 BeautifulSoup의 find()
또는 find_all()
메서드를 사용합니다. 아래의 코드는 find()
메서드를 사용하여 웹 페이지에서 첫 번째 폼 요소를 찾고, 해당 폼 요소의 action
속성값을 출력하는 예제입니다.
# 첫 번째 폼 요소를 찾아서 action 속성값 출력
form = soup.find("form")
if form:
action = form.get("action")
print("폼 요소의 action 속성값:", action)
else:
print("해당하는 폼 요소를 찾을 수 없습니다.")
만약 웹 페이지에 여러 개의 폼 요소가 있다면 find_all()
메서드를 사용하여 모든 폼 요소를 추출할 수 있습니다. 아래의 예제는 모든 폼 요소의 action
속성값을 출력하는 코드입니다.
# 모든 폼 요소의 action 속성값 출력
forms = soup.find_all("form")
if forms:
for form in forms:
action = form.get("action")
print("폼 요소의 action 속성값:", action)
else:
print("해당하는 폼 요소를 찾을 수 없습니다.")
마무리
이번 글에서는 Beautiful Soup을 사용하여 웹 페이지에서 특정 폼 요소의 속성을 추출하는 방법을 알아보았습니다. Beautiful Soup을 활용하면 웹 스크래핑 작업을 편리하게 수행할 수 있으며, 다양한 데이터를 추출하는 데 도움이 될 것입니다.
더 자세한 사용법은 Beautiful Soup의 공식 문서를 참조하시기 바랍니다.