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

이번 글에서는 파이썬의 Beautiful Soup 라이브러리를 사용하여 웹 페이지에서 특정 폼 요소 값을 전송하는 방법을 알아보겠습니다.

Beautiful Soup이란?

Beautiful Soup은 HTML과 XML 문서를 파싱하고 분석하는 파이썬 라이브러리입니다. 이를 사용하면 웹 페이지의 구조를 파싱하여 필요한 데이터를 추출할 수 있습니다.

필요한 패키지 설치

먼저 Beautiful Soup와 requests 패키지를 설치해야 합니다. 아래의 명령을 사용하여 설치할 수 있습니다.

pip install beautifulsoup4
pip install requests

웹 페이지에서 폼 요소 값 추출하기

Beautiful Soup을 사용하여 웹 페이지의 폼 요소 값을 추출하는 예제 코드는 다음과 같습니다.

import requests
from bs4 import BeautifulSoup

# 웹 페이지 요청
url = "https://example.com/login"
response = requests.get(url)

# 응답 받은 HTML 파싱
soup = BeautifulSoup(response.text, 'html.parser')

# 폼 요소 선택
form = soup.find('form')
input_username = form.find('input', {'name': 'username'})
input_password = form.find('input', {'name': 'password'})

# 폼 요소 값 전송
data = {
    'username': 'my_username',
    'password': 'my_password'
}
response = requests.post(url, data)

# 결과 확인
print(response.text)

코드 설명

  1. 먼저 requests를 사용하여 웹 페이지에 GET 요청을 보냅니다.
  2. 응답 받은 HTML을 Beautiful Soup으로 파싱하여 soup 객체를 생성합니다.
  3. soup 객체를 사용하여 폼 요소를 선택합니다. 여기서는 폼 요소의 name 속성을 사용하여 선택하였습니다.
  4. data 변수에 전송할 폼 요소 값들을 딕셔너리 형태로 저장합니다.
  5. requests를 사용하여 POST 요청을 보내고, 응답을 받아서 결과를 출력합니다.

결론

이렇게 Beautiful Soup을 사용하여 웹 페이지에서 특정 폼 요소 값을 추출하고 전송하는 방법에 대해 알아보았습니다. Beautiful Soup은 웹 스크래핑에 매우 유용한 도구이며, 다양한 웹 데이터 추출 작업에 활용될 수 있습니다.