[파이썬] Beautiful Soup 4 웹 스크레이핑 결과의 엑셀 연동

웹 스크레이핑은 웹 페이지에서 정보를 수집하는 작업을 말합니다. Beautiful Soup 4는 파이썬에서 웹 스크레이핑을 간편하게 할 수 있는 라이브러리입니다. 이번 포스트에서는 Beautiful Soup 4로 수집한 웹 스크레이핑 결과를 엑셀 파일로 저장하는 방법에 대해 알아보겠습니다.

Beautiful Soup 4 설치

Beautiful Soup 4를 사용하기 위해서는 먼저 설치해야 합니다. 파이썬 패키지 관리자인 pip를 사용하여 설치할 수 있습니다. 터미널 또는 명령 프롬프트에서 다음 명령어를 실행합니다:

pip install beautifulsoup4

웹 스크레이핑하기

먼저, Beautiful Soup 4를 사용하여 웹 페이지를 스크레이핑하는 방법을 알아보겠습니다. 예를 들어, 다음과 같은 HTML 코드가 있는 웹 페이지를 스크레이핑한다고 가정해 봅시다:

<html>
  <body>
    <div id="content">
      <h1>웹 스크레이핑 예시</h1>
      <ul class="items">
        <li>아이템 1</li>
        <li>아이템 2</li>
        <li>아이템 3</li>
      </ul>
    </div>
  </body>
</html>

아래는 Beautiful Soup 4를 사용하여 웹 페이지에서 정보를 추출하는 예제 코드입니다:

from bs4 import BeautifulSoup

# 웹 페이지를 로드
html = """
<html>
  <body>
    <div id="content">
      <h1>웹 스크레이핑 예시</h1>
      <ul class="items">
        <li>아이템 1</li>
        <li>아이템 2</li>
        <li>아이템 3</li>
      </ul>
    </div>
  </body>
</html>
"""
soup = BeautifulSoup(html, 'html.parser')

# 태그를 이용하여 원하는 정보 추출
h1 = soup.find('h1')
items = soup.find_all('li')

# 추출한 정보 출력
print(h1.text)  # 웹 스크레이핑 예시

for item in items:
    print(item.text)  # 아이템 1, 2, 3

엑셀 파일로 저장하기

웹 스크레이핑한 결과를 엑셀 파일로 저장하기 위해서는 pandas 라이브러리가 필요합니다. pandas는 데이터 파일을 다루기 위한 강력한 도구로, 데이터프레임 형태로 데이터를 저장할 수 있습니다. 다음은 pandas를 사용하여 웹 스크레이핑 결과를 엑셀 파일로 저장하는 예제 코드입니다:

import pandas as pd

# 웹 스크레이핑한 결과를 데이터프레임으로 변환
data = {'item': ['아이템 1', '아이템 2', '아이템 3']}
df = pd.DataFrame(data)

# 데이터프레임을 엑셀 파일로 저장
df.to_excel('web_scraping_results.xlsx', index=False)

위 코드를 실행하면 현재 디렉토리에 web_scraping_results.xlsx라는 이름으로 엑셀 파일이 생성됩니다. 생성된 엑셀 파일을 열어보면 데이터프레임의 내용이 저장되어 있습니다.

이제 Beautiful Soup 4를 사용하여 웹 스크레이핑한 결과를 엑셀 파일로 저장하는 방법을 알아보았습니다. 웹 스크레이핑을 통해 수집한 데이터를 다양한 분석이나 시각화 작업에 활용할 수 있습니다.