BeautifulSoup는 웹 페이지에서 데이터를 파싱(parsing)하기 위해 사용되는 Python의 대표적인 서드파티 라이브러리입니다. 이 라이브러리는 다양한 소스에서 데이터를 추출하고 활용·가공하는 작업인 웹 스크래핑(web scraping)을 손쉽게 구현할 수 있도록 도와줍니다.
웹 스크래핑의 활용 분야
웹 스크래핑은 단순한 데이터 수집을 넘어 다음과 같은 목적으로 폭넓게 활용됩니다.
- 연구 목적의 데이터 수집
- 시장 트렌드 분석 및 비교
- SEO(검색 엔진 최적화) 모니터링
BeautifulSoup 설치하기
Windows 환경에서는 아래 명령어 한 줄로 BeautifulSoup를 간단히 설치할 수 있습니다.
pip install beautifulsoup4
예제 코드
다음은 Wikipedia 페이지에서 모든 'href' 링크를 추출하는 예제입니다.
from bs4 import BeautifulSoup
import requests
url = "https://en.wikipedia.org/wiki/Algorithm"
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
print("The href links are :")
for link in soup.find_all('a'):
print(link.get('href'))실행 결과
The href links are : … https://stats.wikimedia.org/#/en.wikipedia.org https://foundation.wikimedia.org/wiki/Cookie_statement https://wikimediafoundation.org/ https://www.mediawiki.org/
코드 설명
- 필요한 패키지(bs4, requests)를 임포트하여 사용합니다.
- 데이터를 가져올 웹사이트의 URL을 정의합니다.
requests.get()으로 URL에 접속하여 해당 페이지의 데이터를 읽어옵니다.BeautifulSoup함수를 사용해 웹 페이지의 텍스트를 파싱합니다.find_all('a')함수를 통해 페이지 내 모든 앵커(<a>) 태그를 찾아냅니다.- 각 태그에서
get('href')로 href 속성 값을 추출하여 콘솔에 출력합니다.
이처럼 BeautifulSoup를 활용하면 몇 줄의 코드만으로도 웹페이지 내 모든 링크를 손쉽게 추출할 수 있으며, 이를 응용하면 이미지, 텍스트 등 다양한 요소의 스크래핑도 가능합니다.