[python] 파이썬 BeautifulSoup으로 웹 페이지 스크랩핑 및 저장
BeautifulSoup은 파이썬의 라이브러리로, HTML 또는 XML 문서를 파싱하기 위해 사용됩니다. 이를 이용하여 웹 페이지의 내용을 추출하고, 필요한 정보를 스크랩하여 저장할 수 있습니다.
BeautifulSoup 설치
BeautifulSoup을 사용하기 위해서는 먼저 라이브러리를 설치해야 합니다. 파이썬의 pip
명령어를 사용하여 설치할 수 있습니다.
pip install beautifulsoup4
웹 페이지 스크랩핑
BeautifulSoup을 사용하여 웹 페이지를 스크랩핑하는 간단한 예제를 살펴보겠습니다. 예를 들어, 다음과 같은 HTML 문서가 있다고 가정해봅시다.
<html>
<head>
<title>스크랩핑 예제</title>
</head>
<body>
<h1>웹 페이지 스크랩핑</h1>
<p>이 예제는 BeautifulSoup을 이용하여 웹 페이지를 스크랩핑하는 방법을 보여줍니다.</p>
<ul>
<li>항목 1</li>
<li>항목 2</li>
<li>항목 3</li>
</ul>
</body>
</html>
이 페이지에서 <h1>
태그의 내용을 추출해보겠습니다.
from bs4 import BeautifulSoup
html = """
<html>
<head>
<title>스크랩핑 예제</title>
</head>
<body>
<h1>웹 페이지 스크랩핑</h1>
<p>이 예제는 BeautifulSoup을 이용하여 웹 페이지를 스크랩핑하는 방법을 보여줍니다.</p>
<ul>
<li>항목 1</li>
<li>항목 2</li>
<li>항목 3</li>
</ul>
</body>
</html>
"""
soup = BeautifulSoup(html, 'html.parser')
title = soup.h1.text
print(title)
위 예제에서 BeautifulSoup
객체를 생성할 때, 첫 번째 인자로 HTML 문서를 전달하고, 두 번째 인자로 파서를 지정합니다. 위 예제에서는 'html.parser'
를 사용하였습니다.
웹 페이지 스크랩하여 저장
BeautifulSoup을 이용하여 웹 페이지를 스크랩하여 필요한 정보를 추출하고, 이를 파일로 저장할 수 있습니다.
from bs4 import BeautifulSoup
import requests
url = 'https://example.com'
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
# 필요한 정보 추출
title = soup.h1.text
# 파일로 저장
with open('output.txt', 'w') as f:
f.write(title)
위 예제에서는 requests
라이브러리를 사용하여 웹 페이지의 내용을 가져옵니다. 가져온 내용을 BeautifulSoup
을 이용하여 파싱하고, 필요한 정보를 추출한 후, 파일로 저장합니다.
마무리
BeautifulSoup은 파이썬에서 웹 페이지 스크랩핑을 할 때 매우 유용한 도구입니다. HTML 문서나 XML 문서를 파싱하여 필요한 정보를 추출할 수 있으며, 이를 이용하여 다양한 작업을 할 수 있습니다.