[python] 파이썬 BeautifulSoup과 웹 사이트 카테고리 추가

웹 스크래핑을 위한 파이썬 라이브러리인 BeautifulSoup은 HTML 및 XML 문서를 파싱하는 데 사용됩니다. 이 라이브러리를 사용하여 웹 사이트에서 원하는 정보를 추출하고 가공할 수 있습니다. 이번에는 BeautifulSoup을 사용하여 웹 사이트의 카테고리를 추가하는 방법에 대해 알아보겠습니다.

1. BeautifulSoup 설치하기

먼저, BeautifulSoup을 설치해야 합니다. 아래 명령을 사용하여 설치할 수 있습니다.

pip install beautifulsoup4

2. 웹 페이지에서 카테고리 추출하기

다음으로, 웹 페이지에서 카테고리 정보를 추출하는 코드를 작성해보겠습니다. 아래 예제 코드는 ‘https://example.com’의 웹 페이지에서 카테고리를 추출합니다.

import requests
from bs4 import BeautifulSoup

url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

categories = []

# 카테고리 요소를 찾아서 리스트에 추가
category_elements = soup.find_all('a', class_='category')
for category_element in category_elements:
    categories.append(category_element.text)

# 추출한 카테고리 출력
for category in categories:
    print(category)

이 코드는 requests를 사용하여 웹 페이지의 HTML을 가져온 다음, BeautifulSoup을 사용하여 HTML을 파싱합니다. 카테고리를 추출하기 위해 find_all 메서드를 사용하여 카테고리 요소를 찾은 다음, 카테고리 텍스트를 리스트에 추가합니다.

3. 웹 페이지에 카테고리 추가하기

이제 추출한 카테고리를 웹 페이지에 추가하는 방법에 대해 알아보겠습니다. 아래 예제 코드는 ‘https://example.com’의 웹 페이지에 추출한 카테고리를 추가합니다.

import requests
from bs4 import BeautifulSoup

url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# 새로운 카테고리 엘리먼트 생성
new_category_element = soup.new_tag('a', href='/new-category', class_='category', text='새로운 카테고리')

# 원하는 위치에 새로운 카테고리 엘리먼트 추가 (예: 푸터)
footer = soup.find('footer')
footer.insert_before(new_category_element)

# 변경된 HTML 출력
print(soup.prettify())

이 코드는 기존의 웹 페이지 HTML에 새로운 카테고리 엘리먼트를 생성하고, 원하는 위치에 추가합니다. new_tag 메서드로 새로운 카테고리 엘리먼트를 생성하고, insert_before 메서드를 사용하여 푸터 앞에 카테고리 엘리먼트를 추가합니다. 변경된 HTML은 prettify 메서드를 사용하여 보기 좋게 출력됩니다.

이제 여러분은 BeautifulSoup을 사용하여 웹 사이트에서 카테고리 정보를 추출하고, 추출한 카테고리를 웹 페이지에 추가하는 방법을 알게 되었습니다. 이를 응용하여 다양한 웹 스크래핑 작업을 수행할 수 있습니다.

참고 자료