웹 스크래핑을 통해 웹 페이지의 내용을 추출하고 필요한 정보를 저장하는 것은 매우 흔한 작업입니다. 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을 사용하여 웹 페이지에서 특정 폼 요소의 값을 추출하는 방법을 알아보았습니다. 이를 응용하면 다양한 웹 스크래핑 작업을 수행할 수 있습니다.
참고 자료
- Beautiful Soup 공식 문서: https://www.crummy.com/software/BeautifulSoup/
- requests 라이브러리 공식 문서: https://docs.python-requests.org/