웹 스크래핑을 위한 파이썬 라이브러리인 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을 사용하여 웹 사이트에서 카테고리 정보를 추출하고, 추출한 카테고리를 웹 페이지에 추가하는 방법을 알게 되었습니다. 이를 응용하여 다양한 웹 스크래핑 작업을 수행할 수 있습니다.