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의 기본적인 사용법을 다루고 있습니다.
반응형