Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

BeautifulSoup으로 웹사이트에서 'href' 링크를 추출하는 방법

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를 활용하면 몇 줄의 코드만으로도 웹페이지 내 모든 링크를 손쉽게 추출할 수 있으며, 이를 응용하면 이미지, 텍스트 등 다양한 요소의 스크래핑도 가능합니다.