IT

파이썬 BeautifulSoup 사용하기

carnival6103 2025. 2. 11. 20:13
반응형

물론입니다! BeautifulSoup를 사용하여 웹 스크래핑을 좀 더 상세히 설명해 드릴게요.

1. BeautifulSoup 설치

BeautifulSoup와 함께 웹 페이지를 요청하기 위해 requests 라이브러리도 설치해야 합니다:

pip install beautifulsoup4 requests

2. 기본 사용법

BeautifulSoup를 사용하여 웹 페이지의 HTML을 파싱하는 기본 예제입니다:

from bs4 import BeautifulSoup
import requests

# 웹 페이지 가져오기
url = 'http://example.com'
response = requests.get(url)

# BeautifulSoup 객체 생성
soup = BeautifulSoup(response.content, 'html.parser')

# HTML 요소 찾기
title = soup.title
print(title.text)

# 모든 링크 찾기
links = soup.find_all('a')
for link in links:
    print(link.get('href'))

3. HTML 요소 찾기

BeautifulSoup는 다양한 방법으로 HTML 요소를 찾을 수 있습니다:

  • find(): 첫 번째로 발견된 요소를 반환합니다.
  • find_all(): 모든 요소를 리스트로 반환합니다.
  • select(): CSS 선택자를 사용하여 요소를 찾습니다.

예제:

# 특정 클래스의 첫 번째 div 요소 찾기
div = soup.find('div', class_='example-class')
print(div.text)

# 모든 p 요소 찾기
paragraphs = soup.find_all('p')
for p in paragraphs:
    print(p.text)

# CSS 선택자를 사용하여 요소 찾기
items = soup.select('.example-class > ul > li')
for item in items:
    print(item.text)

4. 속성 접근 및 수정

HTML 요소의 속성에 접근하거나 수정할 수 있습니다:

# 첫 번째 링크 요소 가져오기
link = soup.find('a')

# href 속성 가져오기
href = link.get('href')
print(href)

# href 속성 수정하기
link['href'] = 'http://new-url.com'
print(link)

5. HTML 생성 및 수정

BeautifulSoup를 사용하여 새로운 HTML 요소를 생성하거나 기존 요소를 수정할 수 있습니다:

# 새로운 태그 생성
new_tag = soup.new_tag('a', href='http://example.com')
new_tag.string = 'Example Link'

# 기존 요소에 새로운 태그 추가
soup.body.append(new_tag)
print(soup.body)

이 예제들은 BeautifulSoup의 기본적인 사용법을 다루고 있습니다.

반응형