[주식 데이터 자동 기록 기초] EP03. 노션 API 연동 및 데이터베이스 자동 수신 환경 구축

목차 지난 EP01에서 자동화 프로그램이 구글 블로그에 직접 글을 쓸 수 있도록 마스터키를 확보하는 기초 공사를 마쳤고, EP02에서는 야후 파이낸스 실시간 주가를 스마트폰 텔레그램 알림으로 전송하는 자동 비서를 구축했다. 이번 EP03은 이 시리즈의 핵심으로, 수집한 주가 데이터들을 노션 표(데이터베이스)에 차곡차곡 누적 보관하는 자동화 시스템을 완성할 차례다.

[주식 데이터 자동 기록 기초] EP02. 파이썬으로 야후 파이낸스 주가 정보 텔레그램 알림 받기

목차 수동으로 주식 기록을 하다가 자꾸 빼먹고 관리가 안 돼서 컴퓨터한테 자동화를 맡기기로 하고 시작한 프로젝트다. 지난 글(EP01)에서는 구글 클라우드 콘솔을 통해 블로거 API 인증키를 발급받고, 매번 로그인 없이 패스할 수 있는 마스터키(token.pickle)를 내 컴퓨터에 확보하는 구글 블로거 연동 작업을 명확히 마쳤다. 이번 글(EP02)의 핵심은 야후 파이낸스와 파이썬을 연동해 실시간 주가 데이터를 긁어오고, 이를 내 휴대폰 텔레그램 수신 테스트까지 완벽하게 성공시키는 것이다. VS Code 설치부터 첫 실시간 딩동 메시지를 받기까지 직접 삽질하며 해결한 실전 기록을 담았다. 여기까지 성공하고 나면, 다음 글(EP03)에서는 수집한 데이터들을 휘발시키지 않고 차곡차곡 누적 보관할 노션(Notion) API 연동과 데이터베이스 자동화 환경을 구축할 예정이다. 그럼 시작해보자.

주식 데이터 자동 기록 기초 EP01. 구글 클라우드 콘솔 설정 및 블로거 API 연동

목차   전일 지수를 매일 새벽마다 체크해야 하는건 당연하다. 그런데 기록하지 않으면 건너뛰는 날이 있게 되기도 하고, 나의 보유 종목이 별 다른 성과를 내지 않는 상태라면 흥미가 줄어 챙겨보는걸 귀찮아하기도 한다. 그래서 나의 생각이 흩어져 관리가 잘 안된다. 머리가 나쁘면 기록을 해야지 하면서 스스로 질책을 하게되어 자동화를 준비하고자 마음 먹었다. 초보자이고, 좌충우돌 하겠지만 그래도 남는게 있지 않을까 싶다. 결론부터 말하자면, 매일 체크해야 하는 동일한 자료들을 하나의 파이썬 마스터 코드로 통합하여 아래의 3가지 채널로 동시에 자동 수신받도록 시스템을 만들 예정이다. 1. 깃허브 액션 ➡ 야후 파이낸스 정보 ➡ 구글 블로거 2. 깃허브 액션 ➡ 야후 파이낸스 정보 ➡ 노션 3. 깃허브 액션 ➡ 야후 파이낸스 정보 ➡ 텔레그램 위 경로에서 깃허브 가입, 노션 API 발급, 텔레그램 봇 토큰, Chat ID 발급은 완료된 상태이다. 이 상황들은 아래 경로로 링크를 남겨두었다. 🔗 노션 API 발행 및 파이썬 연동 테스트 🔗 DART 인증키, 텔레그램 봇 토큰 발급 및 수신 테스트 이 거대한 무인 자동화 기지를 완공하기 위해 총 3부작 시리즈로 나누어 연재할 계획이다. 그 첫 번째 단계인 오늘은 가장 보안 관문이 까다로운 [구글 블로거 API 인증키 발급]과 매번 로그인 없이 프리패스할 수 있는 마스터키(token.pickle)를 내 컴퓨터에 확보하는 과정을 담았다. 시행착오와 해결과정까지 생생하게 남겨놓은 글이니 매끄럽지 않을 수 있다. 그럼 이제 시작해보자.

다트 공시, 깃허브 액션으로 실시간 자동 알림 받기 (텔레그램 봇 설정 및 연동 편) - EP02

목차 깃허브의 사용 목적은 24시간 가동하려는 용도로 다트와 텔레그램의 중간 역할을 하는 것이다. 지난 에피소드 01의 글에서는 원하는 종목의 다트 공시를 깃허브 내에서 수신이 가능한지 테스트를 하는 과정으로 글을 마쳤다. 이번 글은 '다트 공시, 깃허브 액션으로 내 휴대폰 텔레그램으로 실시간 자동 알림 받기 - EP01'의 연장선으로 다트의 공시를 깃허브를 거쳐 텔레그램으로 수신받을 수 있게 자동화시켜 놓는 과정을 담았다. 원활한 자동화 구축을 위해 1편의 기초 설정 을 먼저 완료해 주세요. 🔗 다트 공시, 깃허브 액션으로 내 휴대폰 텔레그램으로 실시간 자동 알림 받기 - EP01 1. 준비사항 이번 과정에서는 텔레그램 봇 토큰 과 Chat ID 가 필요하다. 텔레그램 관련 준비사항은 다트 공시나 야후 파이낸스 지표 수치, 한경 리포트의 정보를 나의 휴대폰으로 수신하려면 필요하니 만들어야 한다. 이전 글에 텔레그램에서 봇 토큰과 Chat ID를 발급받는 과정을 남겨놓았으므로 해당 글을 참고해 만들면 된다. 📡 아직 텔레그램 봇 토큰과 Chat ID가 없으신가요? 다트와 깃허브로 보낸 정보를 수신하려면 텔레그램 전용 봇(Bot)과 chat ID가 필요합니다. 아래 버튼을 클릭해 이전 글의 과정을 참고해 준비하시기 바랍니다. 📲 텔레그램 봇 토큰, Chat ID 발급받는 방법 2. 깃허브 시크릿에 텔레그램 봇 토큰과 Chat ID 등록하기 지난 글 '다트 공시, 깃허브 액션으로 내 휴대폰 텔레그램으로 실시간 자동 알림 받기 - EP01' 에서도 보안을 위해 다트 API 인증키를 보관해 코드에 직접적인 인증키가 들어가지 않게 하는 과정을 거쳤다. 이번에도 텔레그램 봇 토큰과 Chat ID를 보안을 위해 저장한다. * 번거롭지만 텔레그램 봇 토큰과 Chat...

다트 공시, 깃허브 액션으로 내 휴대폰 텔레그램으로 실시간 자동 알림 받기 - EP01

목차   나의 컴퓨터를 계속 켜둘 수 없어 무료인 구글 코랩을 이용하려 했지만 코랩 또한 일정 시간이 지나면 작동을 멈추기 때문에 다른 방법이 더 필요했다. 그래서 역시 무료인 '깃허브 액션'을 사용해보려 한다. 총 2개의 글로 나눠서 작성할 예정이다. 그 중 1편은 깃허브에 관한 글이다. 1편이 너무 길어서 2편을 따로 만들건데, 이 부분은 텔레그램 설정과 테스트에 관한 내용이다. 이번 1편의 준비는 다트 API 인증키가 필요하다. 이 시리즈는 다트에서 원하는 종목의 공시를 내 휴대폰의 텔레그램으로 수신되는 과정이기 때문이다.   1. 준비 (다트 API 인증키 + 명령어 코드 파일 2개) (1) 다트 API 인증키 필요 🔑 아직 'DART API 인증키'가 없나요? 발급 방법은 아래 이전 글에 소개되어 있습니다. DART API 인증키 발급 방법 보러가기 아래 2개의 파일은 메모장을 이용해 txt 파일을 만들어야 한다.   (2) main.py (명령서) 만들기 - 아래 코드를 드래그 해서 메모장에 붙여넣기 한다. - 메모장 저장 : 파일형식을 ' 모든 파일 '로 한다. 파일이름을 ' main.py '라고 저장한다. 이렇게 하면 첫 번째 파일이 만들어진다. 주의할 점은 확장자로 .txt를 붙이지 않는다. 정확한 파일명은 main.py 이다. 복사하기 import requests import os MY_DART_KEY = os.environ.get('DART_API_KEY') # 정찰 대상: 삼성전자 (종목코드: 005930) STOCK_CODE = "005930" STOCK_NAME = "삼성전자" def check_disclosure(): print(f"...

주식 다트 공시 + 휴대폰 텔레그램으로 자동 수신 시스템 구축 첫 걸음, 다트 API, 토큰, 구글 코랩 활용

목차   - 의도 : 내가 설정한 종목 중 다트에 새로운 공시가 뜨면 나의 텔레그램으로 즉시 알림을 받기 위함이다. - 경로 : 다트 공시 -> 구글 코랩 -> 텔레그램 전송 - 컴퓨터를 24시간 가동할 수 없어 구글 코랩을 사용할 예정인데 코랩도 브라우저를 닫거나 일정 시간이 지나면 끊길 수 있다. 그래서 깃허브를 이용할 예정 인데 이 부분은 글이 너무 길어지니 다음 글에 테스트해보는 과정을 남길 예정이다.   아래 글은 다트에서 'API 인증키', 텔레그램 API 토큰, 텔레그램 고유번호(chat ID)를 알아야 구글 코랩에서 코드를 입력해 다트의 공시 링크를 텔레그램으로 전송할 수 있다. 아래는 그 과정을 담은 것이다.   1. Open DART 'API 인증키' 발급받기 (무료) Open DART 인증키 신청 바로가기 위 버튼을 클릭하면 다트의 인증키 신청 페이지로 연결된다. (1) 다트 사이트에 접속한다. (2) 왼쪽 상단 '인증키 신청/관리' 메뉴를 클릭한다. (3) 왼쪽 아래 '인증키 신청' 버튼 클릭을 클릭한다. (4) 동의 체크 / 사용자 구분 : 개인 / 이메일, 비번을 입력 한다. (5) API사용환경 : 모두 / API사용용도 : 개인 투자 분석 및 파이썬 공부용 / 확인 URL : 나의 블로그 주소 기입 http://www.seethe330st.com ➡ 등록 버튼을 클릭한다. (6) 기재한 이메일을 확인해 금융감독원에서 보낸 이메일 을 열어 '인증링크' 클릭한다. (7) 다트 사이트에서 상단 '인증키 신청/관리' 클릭, 페이지에서 '상태-승인' 으로 되어 있는지 확인 ➡ 왼쪽 '오픈API 이용현황' 메뉴 클릭 ➡ API Key를 확인 하면 된다.   2. 텔레그램을 통한 알림 ...

파이썬 기반 구글 제미나이 X 노션 API 연동, 자동화의 기초 환경 설정

목차   - 목표 : 노션 토큰 비번 , 노션 데이터베이스로 활용할 32자리 ID - 용도 : 파이썬으로 자동 수집한 투자 데이터(DART 공시, 텔레그램 뉴스)를 내 노션 페이지에 실시간으로 전송 및 자동 기록하기 위함이다.   토큰, API, 데이터베이스 ID 용어 정리 여기서 용어를 정리하고 가자. 쌩초보이고, 제미나이를 이용해 시도하므로 이 과정을 해보고 나니 조금은 알겠다.   ** API 연동 제미나이와 노션을 연동하기 위해서는, 파이썬 코드를 통해 '노션 API'와 데이터를 주고받는 과정이 필요하다.   ** 노션 토큰 '토큰' 이라는 것은 비밀번호와 비슷한 맥락이라고 보면 된다. 노션의 내 통합(My Integrations)' 관리 화면으로 이동해 토큰을 만들고, 파이썬(DART/텔레그램)과 노션을 연결할 때 비밀번호처럼 사용한다.   ** 노션 데이터베이스로 활용할 32자리 ID 제미나이가 코드를 이용해 자동으로 자료를 전송해 기록할 때 정확히 노션의 어느 페이지에 기록할 것인지 좌표를 알려줘야 한다. 이 좌표라는 게 데이터베이스 ID로 불리는 것 같은데 그리 어려운 개념은 아니다. 노션의 해당 페이지 상단 주소창의 32자리 문자+숫자를 말한다.   노션 AI 플러스 월 구독의 불필요? 왼쪽 메뉴 -> 설정 -> 요금제 살펴보기 -> 플러스 매월 16800원 결제 위 과정으로 노션 월 결제를 했는데, 이건 노션 안에서 사용하는 AI인가보다. 노션의 제미나이를 사용한다고 해서 결제를 덤벙대고 해버렸는데 내가 지금 사용하는 구글 제미나이와 노션의 제미나이는 별개 이다. 이미 구글 제미나이에서 대화량이 쌓여있는데 두 개가 연동이 되지 않는다면 무쓸모 아닐까? 결제를 했으나 몇 일 동안 사용할 일이 없음이 확인이 되어 환불요청을 해버렸다.   자! 이제 노션 토큰부터 만들어보자. ...