파이썬
BeautifulSoup으로 데이터 추출하기
코딩라이프
2022. 10. 24. 19:22
파이썬의 BeautifulSoup은 HTML이나 XML과 같은 문서의 구조에서 정보를 쉽게 추출하기 위해 사용되는 라이브러리입니다.
BeautifulSoup을 사용하는 방법은 다음과 같습니다.
■ 외부 라이브러리이므로 사용하기 전에 먼저 설치해야 합니다.
- pip install bs4
■ 라이브러리를 임포트합니다.
- from bs4 import BeautifulSoup
■ BeautifulSoup 객체를 생성합니다.
- bs4객체명 = BeautifulSoup(htm구문, 'html.parser')
지난 requests 포스팅에서 requests 라이브러리를 이용하여 웹페이지를 요청하는 방법을 알아보았습니다.
웹페이지를 요청하여, 응답받은 페이지의 HTML구문 분석을 위하여 BeautifulSoup 객체를 생성하는 코드는 다음과 같습니다.
[ 서울열린데이터광장 > 공공데이터 ] 페이지를 스크래핑 해 보겠습니다.
이제 HTML에서 정보를 찾기 위한 find, find_all 메소드의 기본 사용법을 알아보겠습니다.
■ HTML에서 정보 찾기위한 BeautifulSoup의 주요 메소드
- find('태그') : 지정한 태그 하나 찾기. 해당 태그가 여러 개 존재하는 경우 첫번째 태그를 반환한다.
- 위 결과에서 텍스트만 추출하기.(해당 결과에는 텍스트가 없어서 개행문자만 추출되었다.)
- find_all('태그') : 지정한 태그 모두 찾기. 지정한 태그를 리스트로 반환한다.
- 위 결과에서 텍스트만 추출하기.
- find_all('태그명','클래스명') : 지정한 태그와 클래스를 가진 데이터 추출하기
- find_all(id='id명') : 지정한 아이디를 가진 데이터 추출하기
- get('태그명') : 지정한 태그의 요소값 추출하기
아래 코드는 태그 'a'와 클래스'goView'를 가진 데이터를 추출한 결과이다.
여기서 data-rel 태그의 요소값을 추출하고자 한다.
위 추출 결과에서 data-rel 태그 요소값을 추출하는 코드는 다음과 같다.