파이썬자동화

[파이썬 업무자동화] 경쟁사 동향 분석 끝판왕! 실시간 키워드 모니터링 종합 프로그램 만들기

mumuverse 2026. 5. 24. 22:51

안녕하세요! 우리는 지난 연재를 통해 웹페이지에서 데이터를 긁어오고, 이를 엑셀 파일로 이쁘게 저장하고, 최종 결과물을 내 스마트폰 텔레그램 메시지로 쏘아 올리는 핵심 조각 기술들을 하나씩 정복해 왔습니다.

각개전투로 기술을 익혔으니, 이제 이 무기들을 하나로 엮어 실제 기획, 마케팅, 영업, 연구직 등 모든 직장인들이 실무에서 즉시 써먹을 수 있는 대형 종합 자동화 시스템을 구축할 시간입니다. 이름하여 '실시간 키워드 및 경쟁사 모니터링 종합 프로그램'입니다!

오늘 완성할 프로그램은 파이썬이 내가 지정한 키워드(예: 경쟁사 이름, 신기술 트렌드 등)를 구글이나 네이버에서 자동으로 검색한 뒤, 1) 최신 뉴스 데이터를 싹 수집하고, 2) 이를 엑셀 보고서 파일로 로컬에 영구 저장하며, 3) 수집 완료 알림과 핵심 요약을 내 스마트폰으로 띵동! 하고 즉시 쏘아주는 완벽한 올인원(All-in-One) 구조입니다. 내 컴퓨터 안에 24시간 일하는 유능한 리서치 직원을 한 명 심어두는 짜릿함을 느껴보세요!

💡 잠깐! 스마트폰으로 메시지를 쏘는 알림 설정법을 모르시나요?
오늘 프로젝트는 최종 데이터를 내 핸드폰 메신저로 전송하는 기능이 포함되어 있습니다. 텔레그램 앱에서 딱 10초 만에 무료 API 토큰을 발급받고 나만의 비밀 알림 봇 주소를 얻는 기초 세팅법을 아직 안 보셨다면, 아래 전 단계 글을 꼭 확인하고 오셔야 오늘 종합 코드를 내 폰과 연결할 수 있습니다!

2026.05.22 - [분류 전체보기] - [파이썬 업무자동화] 관리비 명세서 확인을 내 폰으로! 실시간 메신저 알림 봇 연동 가이드

 

[파이썬 업무자동화] 관리비 명세서 확인을 내 폰으로! 실시간 메신저 알림 봇 연동 가이드

안녕하세요! 지난 시간(Step 6)에 파이썬이 사람 대신 아파트 관리비 조회 사이트에 알아서 접속하고, 아이디와 비밀번호를 입력해 당월 청구 금액을 싹 가로채 오는 짜릿한 실전 자동화 프로그램

mumuverse.tistory.com

 

※ 사내 업무 보안 및 규정 준수 가이드
본 프로그램은 인터넷망에 공개된 범용 뉴스 기사 및 트렌드 키워드를 수집하는 단순 리서치 자동화 툴입니다. 회사의 대외비 문서나 인트라넷 내부망의 기밀 정보를 외부로 유출하는 비인가 스크립트가 아니며, 개인의 업무 효율화 및 시장 동향 파악 목적의 안전한 클린 코드입니다.

1. 레고 블록을 조립하듯 코드를 하나로 묶는 원리

많은 코딩 초보자분들이 '종합 프로그램'이라는 단어만 들어도 겁을 먹습니다. "코드가 너무 길고 복잡해서 내가 이해할 수 있을까?" 하고 말이죠. 하지만 걱정하실 필요 전혀 없습니다. 자동화 프로그램은 결국 레고 블록 조립과 똑같습니다.

우리가 지금까지 한 단원씩 정성스럽게 깎아온 코드 블록들을 순서대로 나열하기만 하면 됩니다. 파이썬에게 명령어 순서를 이렇게 내려주는 것이죠.

① 인터넷 바다에 들어가서 키워드를 검색해라 (Step 3, 5 크롤링)
② 찾아낸 뉴스 제목과 링크를 표 형태로 정리해라 (Step 4 데이터 가공)
③ 정리한 표를 내 컴퓨터에 엑셀 파일로 쾅 저장해라 (Step 4 엑셀 자산화)
④ 작업이 끝났으니 내 핸드폰으로 몇 개 수집했는지 보고해라 (Step 7 텔레그램 알림)

이 흐름만 머릿속에 그릴 수 있다면 여러분은 이미 훌륭한 자동화 아키텍트(설계자)입니다.

2. 올인원 모니터링 자동화 시스템 마스터 소스 코드

실습을 위해 컴퓨터 터미널 창에 pip install beautifulsoup4 pandas requests 명령어를 입력해 필요한 라이브러리를 한 번에 설치해 주세요. 아래 코드는 가상의 타깃 뉴스 사이트(샘플 구조)에서 '경쟁사 동향'을 긁어와 엑셀로 저장하고 폰으로 쏴주는 종합 마스터 소스 코드입니다.


import requests
from bs4 import BeautifulSoup
import pandas as pd
import datetime

# =========================================================================
# [통합 사용자 설정 영역] 본인의 메신저 정보와 탐색할 키워드를 입력합니다.
# =========================================================================
TELEGRAM_TOKEN = "여기에_발급받은_봇_토큰을_넣으세요"
CHAT_ID = "여기에_본인의_텔레그램_숫자_ID를_넣으세요"
SEARCH_KEYWORD = "삼성전자"  # 매일 모니터링하고 싶은 경쟁사 또는 핵심 키워드

print(f"🔄 [{SEARCH_KEYWORD}] 키워드 실시간 종합 모니터링을 시작합니다.")

# [블록 1] 실시간 데이터 수집 (크롤링 단계)
# 예시 목적의 가상 검색 뉴스 주소 구조입니다.
target_url = f"https://example-news-search.com/search?q={SEARCH_KEYWORD}"
response = requests.get(target_url)
soup = BeautifulSoup(response.text, 'html.parser')

# 가상 사이트의 뉴스 제목 태그가 class='news_title'이라고 가정합니다.
titles = soup.find_all('a', class_='news_title')

news_list = []
for title in titles[:5]:  # 상위 최신 뉴스 5개만 콤팩트하게 추출
    name = title.text.strip()
    link = title.get('href')
    news_list.append({"제목": name, "링크": link})

print(f"-> 검색 결과 최신 뉴스 {len(news_list)}개를 성공적으로 가로채 왔습니다.")

# 데이터가 존재할 경우에만 다음 자산화 및 알림 단계 진행
if news_list:
    # [블록 2] 표 데이터 가공 및 엑셀 저장 (데이터 자산화 단계)
    df = pd.DataFrame(news_list)
    
    # 파일명에 오늘 날짜를 자동으로 박아서 덮어쓰기 되는 것을 방지합니다.
    today_date = datetime.datetime.now().strftime("%Y%m%d")
    excel_filename = f"경쟁사동향_보고서_{today_date}.xlsx"
    
    # 엑셀 파일로 내 컴퓨터에 영구 저장 실행
    df.to_excel(excel_filename, index=False)
    print(f"-> 엑셀 보고서 파일 생성 완료: {excel_filename}")
    
    # [블록 3] 텔레그램 스마트폰 비서에게 보고 명령 (알림 연동 단계)
    telegram_api_url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
    
    # 폰 화면에서 한눈에 볼 수 있도록 이쁘게 텍스트 요약본 조립
    summary_text = f"📊 [{SEARCH_KEYWORD}] 실시간 동향 보고\n\n"
    summary_text += f"주인님, 요청하신 키워드의 최신 뉴스 {len(news_list)}건 수집 및 엑셀 파일 저장이 완료되었습니다.\n\n"
    summary_text += "📝 최신 뉴스 톱3 요약:\n"
    
    for i, news in enumerate(news_list[:3], 1):
        summary_text += f"{i}. {news['제목']}\n"
        
    summary_text += f"\n📁 파일명: {excel_filename}\n"
    summary_text += "※ 상세 내용은 대시보드 및 로컬 엑셀 파일을 확인해 주세요!"
    
    payload = {
        'chat_id': CHAT_ID,
        'text': summary_text
    }
    
    # 스마트폰으로 전송
    requests.post(telegram_api_url, data=payload)
    print("\n==================================================")
    print("🎉 [종합 자동화 성공] 엑셀 저장 및 스마트폰 알림 보고를 완료했습니다!")
    print("==================================================")

else:
    print("❌ 오늘 청정 구역이네요! 수집된 최신 뉴스 데이터가 없습니다.")
    
🎯 엑셀 파일 확장과 표 디자인이 마음에 안 드시나요?
오늘 완성한 종합 코드는 데이터를 엑셀로 '저장'하는 기본형 뼈대입니다. 만약 저장할 때 컬럼의 순서를 내 입맛대로 바꾸거나, 인덱스 번호를 없애고, 나아가 회사 제출용 바둑판 모양의 정갈한 .xlsx 양식으로 완벽히 통제하고 싶다면 파이썬 데이터 가공의 핵심인 4단원 노하우를 반드시 이 코드에 덧입히셔야 합니다.

2026.05.19 - [분류 전체보기] - [파이썬 자동화] 네이버 뉴스 크롤링 수집 데이터, 클릭 한 번에 엑셀 파일(.xlsx)로 저장하는 법

 

[파이썬 자동화] 네이버 뉴스 크롤링 수집 데이터, 클릭 한 번에 엑셀 파일(.xlsx)로 저장하는 법

ADVERTISEMENT안녕하세요! 지난 단원(Step 3)에서 파이썬을 이용해 실제 네이버 뉴스 검색창에서 실시간으로 '반도체 최신 뉴스' 10개의 제목과 링크 주소를 긁어오는 짜릿한 경험을 해보았습니다. 다

mumuverse.tistory.com

 

3. 진정한 실무 프로들이 시스템을 운영하는 방법

종합 프로그램을 완성한 프로 개발자나 실무자들은 이 코드를 단순히 하루에 한 번 마우스로 직접 더블 클릭해서 실행하지 않습니다. 한 단계 더 나아가 완벽한 '무인(No-Touch) 시스템'으로 돌려버리죠. 대표적인 두 가지 꿀팁을 전해드립니다.

  • 윈도우 작업 스케줄러(Task Scheduler) 연동: 내 컴퓨터 안에 내장된 스케줄러 기능을 이용해 "매일 아침 8시 30분 출근 직전에 이 파이썬 코드를 실행해라"라고 세팅해 두는 것입니다. 그러면 나는 출근하는 지하철 안에서 폰으로 텔레그램 요약 보고서를 읽으며 경쟁사 동향을 이미 파악한 채 사무실 문을 열 수 있습니다.
  • 다중 키워드 확장 구조: 만약 조사해야 하는 경쟁사나 키워드가 10개가 넘는다면 코드 상단에 리스트 배열(KEYWORDS = ["키워드1", "키워드2", "키워드3"])을 만들고 for 반복문을 씌워주면 됩니다. 파이썬은 지치지 않기 때문에 키워드가 100개여도 단 몇 초 만에 엑셀 파일 100개를 토해내고 내 폰으로 알림을 순차적으로 꽂아줄 것입니다.

당신을 위한 실무 자동화 가이드

마치며

지금까지 한 단계씩 눈물겹게 쌓아 올린 조각 기술들이 마침내 하나의 거대한 '실실간 키워드 모니터링 로봇'으로 재탄생했습니다! 여러분은 이제 단순 반복 리서치 업무에 시간을 낭비하는 평범한 직장인이 아니라, 시스템을 설계하고 제어하는 '일 잘하는 스마트 워커'의 반열에 오르신 겁니다.

종합 선물 세트까지 마스터하며 웹에서 데이터를 가져오는 마법은 원 없이 부려보았습니다. 그렇다면 이제 웹 브라우저 밖으로 눈을 돌려볼까요? 컴퓨터 바탕화면에 굴러다니는 수백 개의 진짜 마이크로소프트 엑셀 파일들을 마우스로 일일이 열지 않고, 파이썬 코드로 단 1초 만에 파일 100개를 병합하고 통계 데이터를 뽑아내는 '진짜 내 컴퓨터 내부 파일 제어 자동화'의 세계가 우리를 기다리고 있습니다. 다음 단원인 [Step 9: 노가다 엑셀 편집 정지! 파이썬으로 다중 엑셀 파일 파일 1초 만에 합치고 자동 정산하기] 편에서 뵙겠습니다. 오늘 종합 시스템 빌드 성공하신 분들은 멋진 후기를 댓글로 남겨주세요. 감사합니다!

반응형