BeautifulSoup이란?
HTML정보로 부터 원하는 데이터를 가져오기 쉽게,
비슷한 분류의 데이터별로 나누어주는(parsing) 파이썬 라이브러리
( 보통 html정보를 가져오는 urllib.request.urlopen() 모듈과 함께 사용되곤 합니다 )
BeautifulSoup 설치
# bs4 : BeautifulSoup4
pip install bs4
BeautifulSoup가 정보를 분류하는 방식
분류방식(parser) | 특징 | 설치 여부 | 속도 | 사용방법 |
html.parser | 기본 설치 | 중간 | BeautifulSoup(markup, 'html.parser') | |
lxml | xml 파일 지원 | lxml 설치 필요 | 매우 빠름 | BeautifulSoup(markup, 'lxml') |
xml | lxml 설치 필요 | 매우 빠름 | BeautifulSoup(markup, 'xml') | |
html5lib | 브라우저와 같은 방식 | html5lib 설치 필요 | 매우 느림 | BeautifulSoup(markup, 'html5lib') |
원하는 HTML 태그 찾아서 불러오기
( 조건에 맞는 태그가 1개 이상이면, 첫 번째 태그 가져옴 )
# bs에서 <p> 태그로 감싸져 있는 부분 찾기
p = bs.find('p')
# class명 찾기
class = bs.find('div', class='ex_class')
# id 찾기
id = bs.find('div', id='ex_id')
원하는 HTML 태그 전부 불러오기
# bs에서 <p> 태그로 감싸진 부분 전부가져오기 ( list 형식으로 저장 )
p = bs.find_all('p')
# class 전부 찾기
class = bs.find_all('div', class='ex_class')
# id 전부 찾기
id = bs.find_all('div', class='ex_id')
가져온 정보 출력하기
# 위의 내용과 이어집니다
# 태그이름 출력 ( p )
print(p.name)
# class명 출력
print(class['class']
# id명 출력
print(id['id'])
반응형