BeautifulSoup 주요 메서드와 활용법
이번 수업에서는 BeautifulSoup
의 주요 메서드와 그 활용 방법을 간단한 예제와 함께 알아보겠습니다.
특정 요소를 찾는 find
웹 페이지에서 특정 요소를 찾고 싶다면, find()
메서드를 사용합니다.
이 메서드는 조건에 맞는 첫 번째 요소
를 반환합니다.
find 메서드 활용 예시
from bs4 import BeautifulSoup html_doc = """ <html><body> <h1>안녕하세요</h1> <p>문단 1</p> <p>문단 2</p> </body></html> """ # HTML 파싱 soup = BeautifulSoup(html_doc, 'html.parser') # h1 태그 찾기 h1_tag = soup.find('h1') # 출력: 안녕하세요 print(h1_tag.text)
위 예제에서는 h1
태그를 찾아 그 내용을 출력합니다.
find()
는 항상 첫 번째로 일치하는 요소만 반환하므로, 여러 요소가 있다면 첫 번째 요소만 반환됩니다.
여러 요소를 한 번에 찾는 find_all
만약 조건에 맞는 모든 요소를 찾고 싶다면 find_all()
메서드를 사용합니다.
이 메서드는 리스트 형태로 결과를 반환해, 여러 요소를 한 번에 처리합니다.
find_all 메서드 활용 예시
from bs4 import BeautifulSoup html_doc = """ <html><body> <p>문단 1</p> <p>문단 2</p> <p>문단 3</p> </body></html> """ # HTML 파싱 soup = BeautifulSoup(html_doc, 'html.parser') # 모든 p 태그 찾기 p_tags = soup.find_all('p') # 모든 p 태그 출력 for p in p_tags: # 출력: 문단 1, 문단 2, 문단 3 print(p.text)
이 코드는 html_doc
변수에 담긴 문자열의 모든 p
태그를 찾아 출력합니다.
p_tags
변수에 p 태그의 값들이 리스트의 형태로 ['문단 1', '문단 2', '문단 3']
과 같이 저장되어 있습니다.
이렇게 find_all()
은 원하는 요소들을 한 번에 찾을 때 유용합니다.
CSS 선택자로 찾는 select
CSS 선택자를 활용해 특정 요소를 선택할 때는 select()
를 사용합니다.
select 메서드 활용 예시
from bs4 import BeautifulSoup html_doc = """ <html><body> <p>문단 1</p> <div class="content"> <p>문단 2</p> <p>문단 3</p> </div> </body></html> """ # HTML 파싱 soup = BeautifulSoup(html_doc, 'html.parser') # .content 클래스 안에 있는 모든 p 태그 찾기 content_p_tags = soup.select('.content p') for p in content_p_tags: # 출력: 문단 2, 문단 3 print(p.text)
이 코드에서는 .content
클래스 안에 있는 p
태그들을 모두 선택해 출력합니다.
첫 번째 요소만 선택하는 select_one
select_one()
메서드는 select()
와 유사하지만, 조건에 맞는 첫 번째 요소만 반환합니다.
select_one() 메서드 활용 예시
from bs4 import BeautifulSoup html_doc = """ <html><body> <div class="content"> <p>문단 1</p> <p>문단 2</p> </div> </body></html> """ # HTML 파싱 soup = BeautifulSoup(html_doc, 'html.parser') # .content 클래스 안의 첫 번째 p 태그 찾기 first_p_tag = soup.select_one('.content p') # 출력: 문단 1 print(first_p_tag.text)
Mission
0 / 1
BeautifulSoup에서 첫 번째로 일치하는 요소를 찾기 위한 메서드는 무엇인가요?
find_all()
select()
find()
select_one()
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
실행 결과