[python] 파이썬 BeautifulSoup으로 웹 페이지 스크래핑하기

웹 스크래핑은 파이썬을 사용하여 웹 페이지에서 데이터를 추출하는 프로세스를 의미합니다. 이를 위해 BeautifulSoup라는 파이썬 라이브러리를 사용할 수 있습니다. BeautifulSoup은 웹 페이지의 HTML 또는 XML 구조를 파싱하고 쉽게 데이터를 추출할 수 있도록 도와줍니다.

BeautifulSoup 설치하기

먼저, BeautifulSoup 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install beautifulsoup4

웹 페이지의 HTML 구조 파싱하기

웹 페이지의 HTML 구조를 파싱하기 위해 BeautifulSoup를 import 합니다. 그리고 파싱하고자 하는 웹 페이지의 URL을 urllib.request를 사용하여 가져옵니다.

import urllib.request
from bs4 import BeautifulSoup

url = "https://example.com"  # 스크래핑하고자 하는 웹 페이지의 URL

html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')

데이터 추출하기

BeautifulSoup를 사용하여 웹 페이지의 데이터를 추출할 수 있습니다. 예를 들어, <title> 태그 안에 있는 웹 페이지의 제목을 추출하려면 다음과 같이 작성할 수 있습니다.

title = soup.title
print(title.text)

title.text<title> 태그 안에 있는 텍스트 내용을 반환합니다.

원하는 요소 찾기

BeautifulSoup를 사용하면 웹 페이지에서 특정 요소를 찾을 수 있습니다. find 또는 find_all 메서드를 사용하여 원하는 요소를 찾을 수 있습니다.

예를 들어, 모든 <a> 태그를 찾아 해당 링크를 출력하고자 한다면 다음과 같이 작성할 수 있습니다.

links = soup.find_all('a')
for link in links:
    print(link['href'])

find_all 메서드는 주어진 태그 이름과 일치하는 모든 요소를 반환합니다.

결론

BeautifulSoup은 파이썬에서 웹 스크래핑을 쉽게 수행할 수 있도록 도와주는 강력한 도구입니다. 이를 통해 웹 페이지의 HTML 구조를 파싱하고 데이터를 추출할 수 있습니다. 웹 스크래핑에 대한 더 많은 정보와 사용법은 BeautifulSoup 공식 문서를 참조하시기 바랍니다.

참조: BeautifulSoup 공식 문서