[python] Beautiful Soup로 웹 페이지에서 특정 폼 요소 값 저장하기

웹 스크래핑을 통해 웹 페이지의 내용을 추출하고 필요한 정보를 저장하는 것은 매우 흔한 작업입니다. Python의 Beautiful Soup 라이브러리를 사용하면 웹 페이지의 HTML을 파싱하고 특정 요소의 값을 추출하여 저장할 수 있습니다.

Beautiful Soup 설치하기

먼저, Beautiful Soup 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다:

pip install beautifulsoup4

웹 페이지의 HTML 가져오기

먼저, 웹 페이지의 HTML을 가져와야 합니다. 이를 위해 Python의 requests 라이브러리를 사용할 수 있습니다. 다음 코드를 사용하여 웹 페이지의 HTML을 가져옵니다:

import requests

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

html = response.text

이제 html 변수에는 웹 페이지의 HTML이 저장되어 있습니다.

BeautifulSoup으로 HTML 파싱하기

Beautiful Soup을 사용하여 HTML을 파싱할 수 있습니다. 다음 코드를 사용하여 BeautifulSoup 객체를 생성합니다:

from bs4 import BeautifulSoup

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

이제 soup 변수에는 파싱된 HTML이 저장되어 있습니다.

특정 폼 요소 값 추출하기

이제 원하는 폼 요소의 값을 추출할 수 있습니다. 폼 요소는 HTML의 <form> 태그 안에 있습니다. 예를 들어, 로그인 폼의 사용자 이름을 추출하려면 다음 코드를 사용할 수 있습니다:

username_input = soup.find("input", {"name": "username"})
username_value = username_input["value"]

print(username_value)

위의 코드에서는 find() 메서드를 사용하여 <input> 태그를 찾고, {"name": "username"}과 같은 속성을 사용하여 특정 폼 요소를 선택합니다. 그런 다음, 해당 폼 요소의 "value" 속성을 추출하여 변수에 저장합니다.

요약

위의 예제를 사용하여 Beautiful Soup을 사용하여 웹 페이지에서 특정 폼 요소의 값을 추출하는 방법을 알아보았습니다. 이를 응용하면 다양한 웹 스크래핑 작업을 수행할 수 있습니다.

참고 자료