엑셀 노가다 탈출! 파이썬 몰라도 챗GPT로 만드는 데이터 자동 수집 매크로
매일 아침 여러 웹사이트를 방문하며 제품 가격, 뉴스 제목, 혹은 시장 조사를 위해 데이터를 일일이 복사해서 엑셀에 붙여넣고 계신가요? 이러한 단순 반복 작업은 귀중한 업무 시간을 대량으로 소모시킬 뿐만 아니라, 수작업 특성상 오탈자나 데이터 누락 등 실수할 가능성도 매우 높습니다.
과거에는 이러한 웹 데이터 수집(크롤링)을 하기 위해 파이썬(Python)의 문법이나 웹 구조(HTML/CSS)를 수개월간 공부해야 했습니다. 하지만 이제는 챗GPT(ChatGPT)를 활용하면 프로그래밍 지식이 전혀 없어도 10분 만에 나만의 데이터 자동 수집 매크로를 만들 수 있습니다.
이번 글에서는 코딩을 한 줄도 몰라도 챗GPT 프롬프트 몇 번으로 웹 데이터를 추출하고, 깔끔한 엑셀 파일로 자동 저장하는 실행 가능한 전체 가이드를 공개합니다.
1. 웹 크롤링(Web Crawling)의 핵심 동작 원리
웹 크롤링이란 웹 페이지에 존재하는 정보 중 나에게 필요한 데이터만 자동으로 추출하여 수집하는 기술입니다. 복잡해 보이지만 내부 원리는 크게 두 단계로 나뉩니다.
- 요청(Request): 브라우저가 웹사이트에 접속하듯, 코드가 지정된 URL에 접속하여 전체 웹 페이지 정보를 가져오는 단계
- 파싱(Parsing): 가져온 전체 HTML 문서 데이터 중에서 내가 원하는 특정 제목, 가격, 날짜 텍스트만 쏙 쏙 뽑아내는 단계
챗GPT는 이 두 가지 복잡한 과정을 수행하는 파이썬 코드를 사용자의 요구사항에 맞춰 자동으로 작성해 주는 훌륭한 AI 비서 역할을 합니다.
2. 챗GPT에 입력할 완벽한 프롬프트 작성법
AI에게 정확하고 바로 실행 가능한 코드를 얻어내기 위해서는 역할(Role) 지정, 수집 대상, 사용할 라이브러리, 그리고 최종 출력 형식을 명확하게 지정해야 합니다.
"너는 파이썬 데이터 수집 및 자동화 전문가야. 코딩을 모르는 초보자도 바로 실행할 수 있는 웹 크롤링 스크립트를 작성해 줘.
1. requests와 BeautifulSoup4 라이브러리를 사용할 것.
2. 네이버 IT/과학 뉴스 헤드라인 '기사 제목'과 '언론사 이름'을 수집할 것.
3. 수집한 데이터를 pandas 라이브러리를 사용해 'news_result.xlsx'라는 엑셀 파일로 저장할 것.
4. 차단 방지를 위해 User-Agent 헤더를 포함하고, 각 코드 줄마다 초보자를 위한 한국어 주석을 달아줘."
3. 챗GPT가 생성한 파이썬 자동 수집 코드 (실제 작동)
아래 코드는 위 프롬프트를 통해 챗GPT가 작성한 완벽히 동작하는 파이썬 데이터 수집 스크립트입니다.
import requests
from bs4 import BeautifulSoup
import pandas as pd
import time
# 1. 수집 대상 URL 설정 (네이버 뉴스 IT/과학 분야)
url = "https://news.naver.com/main/main.naver?mode=LSD&mid=shm&sid1=105"
# 2. 브라우저 차단 방지를 위한 User-Agent 설정
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
# 3. 웹사이트 데이터 요청
response = requests.get(url, headers=headers)
if response.status_code == 200:
# 4. HTML 파싱
soup = BeautifulSoup(response.text, "html.parser")
titles = []
presses = []
# 5. 헤드라인 기사 요소 추출
articles = soup.select(".sh_text")
for article in articles:
title_tag = article.select_one(".sh_text_headline")
press_tag = article.select_one(".sh_text_press")
if title_tag and press_tag:
titles.append(title_tag.get_text(strip=True))
presses.append(press_tag.get_text(strip=True))
# 6. 데이터프레임 생성 및 엑셀 저장
df = pd.DataFrame({
"기사 제목": titles,
"언론사": presses
})
df.to_excel("news_result.xlsx", index=False, engine="openpyxl")
print("✅ 데이터 수집 및 'news_result.xlsx' 저장 완료!")
else:
print(f"❌ 접속 실패 (상태 코드: {response.status_code})")
4. 프로그램 설치 없이 구글 코랩(Colab)에서 1분 만에 실행하기
컴퓨터에 파이썬을 복잡하게 설치할 필요가 없습니다. 구글에서 제공하는 무료 개발 환경인 Google Colab을 사용하면 브라우저만으로 즉시 실행할 수 있습니다.
- Google Colab 접속: 웹 브라우저에서
colab.research.google.com에 접속하여 '새 노트'를 만듭니다. - 필수 라이브러리 설치: 첫 번째 셀에 아래 코드를 입력하고 실행(Ctrl + Enter)하여 필요한 패키지를 설치합니다.
!pip install requests bs4 pandas openpyxl
- 코드 실행: 새 코드 셀을 추가하고 위 3번의 파이썬 코드를 붙여넣은 뒤 실행 버튼(▶)을 누릅니다.
- 엑셀 다운로드: 왼쪽 파일 아이콘(📁)을 클릭하면 생성된
news_result.xlsx파일이 보이며, 마우스 우클릭 후 '다운로드'를 누르면 끝납니다.
5. 성공적인 크롤링을 위한 법적·기술적 유의사항
- Robots.txt 규칙 준수: 수집 대상 주소 뒤에
/robots.txt를 붙여 크롤링 허용 범위(Disallow 여부)를 미리 확인하세요. - 서버 과부하 방지 (time.sleep): 연속해서 빠른 속도로 요청을 보내면 IP가 차단되거나 서버에 피해를 줍니다. 반복문 사용 시
time.sleep(1)을 주어 1초 이상의 간격을 두는 것이 매너입니다. - 상업적 재배포 금지: 수집한 데이터는 개인적 분석 용도로만 사용해야 하며, 무단으로 타 사이트에 재배포할 경우 저작권 이슈가 발생할 수 있습니다.
결론: AI 자동화로 업무 생산성을 10배 끌어올리세요
이제 매일 반복되는 엑셀 복사-붙여넣기 작업으로 스트레스를 받을 필요가 없습니다. 챗GPT와 파이썬의 조합은 단순 반복 업무를 클릭 한 번으로 자동화해 주는 강력한 무기입니다. 오늘 바로 챗GPT에 나만의 수집 명령어를 입력해 보세요!
🔗 함께 읽으면 좋은 연관 가이드
- 직장인 보고서 작성 팁: 장문 데이터를 3초 만에 한눈에 들어오는 개조식으로 바꾸는 법 : 장문의 텍스트 데이터를 한눈에 들어오는 개조식 요약본으로 변환하는 3단계 실무 팁과 AI 활용 프롬프트를 확인하세요.
📌 자주하는 질문 (FAQ)
Q1. 코딩을 전혀 몰라도 따라할 수 있나요?
A1. 네, 전혀 문제없습니다. 코드의 구체적인 작동 문법을 몰라도 챗GPT가 완성된 코드를 제공하므로, 알려드린 대로 구글 코랩에 붙여넣고 실행만 하시면 됩니다.
Q2. 엑셀 한글 깨짐 현상은 어떻게 해결하나요?
A2. pandas로 저장할 때 openpyxl 엔진을 사용하거나 인코딩 옵션을 encoding='utf-8-sig'로 지정하면 한글이 깨지지 않고 정상 출력됩니다.
Q3. 엑셀 파일이 깨지거나 한글이 이상하게 나와요.
A3. 엑셀 저장 시 인코딩 설정 문제일 수 있습니다. 챗GPT에게 "엑셀 저장 시 한글이 깨지지 않도록 encoding='utf-8-sig' 옵션을 추가해 줘"라고 말하면 완벽히 수정된 코드를 다시 작성해 줍니다.


댓글