Web App Project

주식데이터 끌어오기(streamlit)

하얀성 2024. 1. 16. 15:57

이게 다... js 주식 정보 크롤링 해올려 했는데 안되서 파이썬까지 찾아들어갔다.

아래 링크 잘 따라가다가, naver finance는 이제 api를 지원을 하지 않는...ㅠ

 

https://youtu.be/YeOyQQ12deU?si=OvxyRnspQjh3DP8o

열심히 바벨도 사용해서 js 코드를 무난히 node 코드로 바꿔서 실행하고자 컴파일도 하고 했는데..

 

 


streamlit 사용해보기(파이썬)

어차피 파이썬 데이터 공부는 다했고, pandas, numpy , matplotlib 등도 다뤄보긴 했으니

파이썬 아나콘다 환경조성이야 무난하게 다 깔려있고 다되어 있었다.

가상 환경은 파이썬의 수많은 라이브러리 등을 설치하는 것을 가상환경에만 설치하는 것이다. 

이 가상환경만 지우게 되면 라이브러리 설치내용만 사라지고, 폴더 구조나, 파일 등은 바뀌거나 지워지지 않는다.

 

가상 환경 활성화:

> pip install streamlit pandas numpy matplotlib seaborn finance-datareader

 

라이브러리 설치:

> conda activate streamlist-app 

> conda install python=3.9

> pip install scipy threadpoolctl

 

파일 실행:

> streamlit run 06-stock-chart.py 

import streamlit as st
import FinanceDataReader as fdr
import datetime

# Finance Data Reader

date = st.date_input(
    "조회 시작일을 선택해 주세요",
    datetime.datetime(2022, 1, 1)
)

code = st.text_input(
    '종목코드',
    value='',
    placeholder='종목코드를 입력해 주세요'
)

if code and date:
    df = fdr.DataReader(code, date)
    df['MA20'] = df['Close'].rolling(window=20).mean()  # 20일 이동 평균
    df['MA50'] = df['Close'].rolling(window=50).mean()  # 50일 이동 평균

    # 데이터와 이동 평균선을 함께 차트에 표시
    chart_data = df[['Close', 'MA20', 'MA50']]
    st.line_chart(chart_data)

출력 결과

 

 


뒷 처리(가상환경 제거)

  • 먼저 현재 환경에서 빠져나오기: 만약 현재 삭제하려는 환경을 사용 중이라면, 다른 환경으로 전환하거나 기본 환경으로 돌아가야 합니다. 이를 위해 다음 명령을 사용합니다
  • > conda deactivate

  • 환경 삭제: 환경을 삭제하려면, 다음 명령을 사용합니다. 여기서 streamlist-app은 삭제하려는 환경의 이름입니다:

 

  • > bashCopy conda remove --name streamlist-app --all

이 명령을 실행하면 streamlist-app 환경과 그 안에 설치된 모든 패키지 및 관련 파일들이 시스템에서 제거됩니다. 환경을 삭제한 후에는 해당 환경에 설치된 것들에 더 이상 접근할 수 없습니다.

환경을 삭제하기 전에, 중요한 데이터나 설정이 있다면 백업하는 것이 좋습니다. 환경을 삭제하는 행위는 되돌릴 수 없으며, 해당 환경에 있는 모든 데이터와 설정이 영구적으로 사라집니다.

 


 

node.js로 들고와서 출력해보기

우선 시작일 기준으로 한가지의 주식 차트 정보를 들고 왔다.