| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 맛있는디자인스터디12기
- Doit파이썬스터디
- 혼공파
- 스터디
- Doit점프투파이썬
- 업무자동화
- 혼공
- 맛있는디자인
- 혼공단
- 진짜쓰는일러스트레이터
- n8n
- 한빛미디어
- 애프터이펙트
- 프리미어프로
- 혼공바
- 바이브코딩
- 완독챌린지
- 혼공분석
- 전면개정2판
- 맛있는디자인스터디13기
- 후기
- 혼공자
- 혼공C
- 혼공JS
- CC2023
- 혼공머신
- 혼공학습단
- 혼만딥
- 6주차후기
- 회고
- Today
- Total
애독자's 공부방
[n8n이 다 해줌] 6주 차 미션 _ AI 투자 리포트 봇 만들기 본문
CHAPTER 07. AI 투자 리포트 봇 만들기_미션
주차별 진도에 따라 주어진 미션과 한 주간 공부한 내용을 정리하여 블로그에 정리
🚶기본 미션: 필수 사항
🏃심화 미션: 선택 사항(※ 심화 미션을 수행하면 기본 미션은 생략 가능)
[기본 미션]
CHAPTER 07 주식 시세 AI 투자 리포트(공공데이터포털 API + DataTable + Gemini + HTML 이메일)를 따라 워크플로우를 직접 만들고, 관심 종목을 DataTable에 등록한 뒤 실제로 발송된 HTML 리포트 이메일 화면과 워크플로우 캡처를 블로그에 정리해 보세요.

□ 공부한 내용
- 공공데이터포털: 공공기관이 생성 또는 취득하여 관리하고 있는 공공데이터를 한 곳에서 제공하는 통합 창구
→ 주식 시세 API 활용 신청 후 서비스 키를 발급
1) 금융위원회_지수시세정보용 http 요청 정보 (curl)
curl -X GET "https://apis.data.go.kr/1160100/service/GetMarketIndexInfoService/getStockMarketIndex?serviceKey=YOUR_SERVICE_KEY&resultType=json&pageNo=1&numOfRows=1&idxNm=%EC%BD%94%EC%8A%A4%ED%94%BC"
2) 금융위원회_주식시세정보용 http 요청 정보 (curl)
curl -X GET "https://apis.data.go.kr/1160100/service/GetStockSecuritiesInfoService/getStockPriceInfo?serviceKey=YOUR_SERVICE_KEY&resultType=json&pageNo=1&numOfRows=1&itmsNm={{$json.name}}"
- DataTable: n8n 안에서 표 형태로 데이터를 저장하고, 워크플로우에 언제든지 불러와 사용할 수 있는 기능
. 관심 종목명을 name 컬럼에 입력한 DataTable을 생성
□ 워크플로우

□ 노드의 연결 흐름
- Trigger: 사용자 입력 단
. Schedule Trigger: 지정된 요일과 시간에 워크플로우가 자동으로 실행되도록 예약 (매주 월요일 오후 2시)
- Task: AI 가공 및 백업 단계
. HTTP Request: 공공데이터포털 API를 호출하여 최신 코스피 지수와 관심 종목 목록(종목명) 데이터를 가져오기
. Get row(s): DataTable에서 관심 종목 목록(종목명)을 가져오기
. Edit Fields - 코스피: 코스피 데이터에서 데이터를 추출
. Edit Fields - 주식: 개별 종목 데이터에서 데이터를 추출 (종목명, 현재가, 등락, 등락률)
. Merge: 코스피 데이터와 개별 종목 데이터를 하나로 병합
. Aggregate: 서로 다른 두 API 노드에서 받아온 데이터를 하나의 묶음(배열)으로 결합
. Basic LLM Chain (with Google Gemini Chat Model): 통합된 전체 주가 데이터를 gemini-2.5-flash 모델에 전달. 시스템 프롬프트를 통해 주식 투자 전략가 페르소나를 부여하고 종합적인 분석 결과를 도출
. Edit Fields: Gemini가 생성한 분석 텍스트 중 최종 메일 본문에 포함할 핵심 내용만 골라내어 데이터 구조를 정리
- Target: 최종 데이터 저장 단계
. Code in JavaScript: 메일로 발송될 때 본문 가독성이 떨어지지 않도록, 자바스크립트 코드를 통해 텍스트의 줄바꿈이나 문자열 형식을 이메일 환경에 맞게 가공하고 정제
. Gmail (Send an email): 최종 정제가 완료된 일일 증시 요약 리포트를 지정된 수신자의 Gmail로 전송
□ 실제 결과 화면
. gemini-2.5-flash 모델을 사용했더니, 자신이 마지막으로 학습한 일자를 최신 일자로 잘 못 말하는 부분이 보임.

□ 생각
이번 주차에는 공공데이터포털의 API를 연결하여 실습을 진행했는데, 교재에서 안내한 내용과 실제 API의 응답값이 조금 달라져 있어서 처음엔 약간 당황했었습니다. 하지만 책과 강의에서 배웠던 방식대로 포털에서 내려받은 문서(API 명세서)를 기반으로 Gemini에게 분석을 요청했더니, 변경된 구조를 영리하게 잘 파악하여 답변을 출력해 준 덕분에 문제 없이 연동을 마칠 수 있었습니다. 여기에 AI가 분석해 준 텍스트 내용을 그대로 내보내지 않고, Code 노드에서 자바스크립트를 활용해 이메일 환경에 맞게 한 번 더 정제해 주는 기능도 유용했습니다. 단순히 책을 따라 하는 것을 넘어 지금 시점에서 달라진 점들을 직접 해결하며 실습해 보니, 데이터가 수집되고 가공되어 사용자에게 메일로 도달하기까지의 전체적인 자동화 원리와 구조를 훨씬 잘 이해할 수 있어서 좋았습니다. 이로써 책의 모든 과정이 끝나 아쉽지만, 배운 내용을 바탕으로 나만의 심화 과정을 진행해 보며 아쉬움을 달래보려 합니다. 6주 동안 많이 도와주시고, 함께해 주셔서 감사했습니다!
'자동화 > n8n 완독 챌린지' 카테고리의 다른 글
| [n8n이 다 해줌] 5주 차 미션 _ AI 영수증 정리봇 만들기 (0) | 2026.06.08 |
|---|---|
| [n8n이 다 해줌] 4주 차 미션 _ AI 회의록 서기 만들기 (0) | 2026.06.01 |
| [n8n이 다 해줌] 3주 차 미션 _ 장바구니 도우미 AI 만들기 (0) | 2026.05.26 |
| [n8n이 다 해줌] 2주 차 미션 _ 나만의 날씨 알리미 (0) | 2026.05.18 |
| [n8n이 다 해줌] 1주 차 미션 _ 주식 뉴스 수집봇 (0) | 2026.05.15 |
