[python] Beautiful Soup로 웹 페이지의 모든 폼 데이터 수정하기

웹 스크래핑을 위해 Beautiful Soup 라이브러리를 사용하는 경우에는 웹 페이지의 데이터를 가져오는 것뿐만 아니라 수정할 수도 있습니다. 특히, 웹 페이지에 있는 폼 데이터를 수정하고 싶은 경우에는 Beautiful Soup가 훌륭한 도구입니다.

이 튜토리얼에서는 Beautiful Soup를 사용하여 웹 페이지의 모든 폼 데이터를 수정하는 방법을 알아보겠습니다.

1. Beautiful Soup 설치하기

먼저, Beautiful Soup를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다:

pip install beautifulsoup4

2. 웹 페이지 데이터 가져오기

Beautiful Soup를 사용하여 웹 페이지의 폼 데이터를 수정하기 전에, 우선 해당 웹 페이지의 데이터를 가져와야 합니다. 다음은 requests 라이브러리를 사용하여 웹 페이지의 HTML을 가져오는 예시입니다:

import requests

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

3. Beautiful Soup로 폼 데이터 수정하기

이제 Beautiful Soup를 사용하여 폼 데이터를 수정할 수 있습니다. 웹 페이지의 HTML을 BeautifulSoup 객체로 변환하고 폼 요소를 선택한 다음, 해당 요소의 값을 변경하는 방법을 보여드리겠습니다:

from bs4 import BeautifulSoup

soup = BeautifulSoup(html, "html.parser")
forms = soup.find_all("form")

for form in forms:
    # 폼 데이터 수정하기
    inputs = form.find_all("input")
    for input in inputs:
        input["value"] = "modified_data"

# 수정된 폼 데이터가 포함된 HTML 가져오기
modified_html = str(soup)

위 예시에서는 웹 페이지의 모든 폼 요소를 선택하고, 각각의 폼 요소에 있는 모든 input 요소의 값을 “modified_data”로 변경합니다. 변경된 폼 데이터가 포함된 수정된 HTML을 modified_html 변수에 저장합니다.

4. 수정된 HTML 저장하기

마지막으로, 수정된 HTML을 파일에 저장하거나 필요에 따라 다른 작업을 수행할 수 있습니다. 다음은 수정된 HTML을 파일에 저장하는 예시입니다:

with open("modified_page.html", "w") as file:
    file.write(modified_html)

위 예시에서는 modified_page.html이라는 이름의 파일을 생성하고, 수정된 HTML을 해당 파일에 쓰는 작업을 수행합니다.

마무리

이제 Beautiful Soup를 사용하여 웹 페이지의 모든 폼 데이터를 수정하는 방법을 알았습니다. Beautiful Soup의 강력한 기능을 활용하여 웹 스크래핑 작업을 더욱 유연하게 수행할 수 있습니다.

좀 더 자세한 내용은 Beautiful Soup 공식 문서를 참조하세요.