본 글은
한국거래소 전체지수 시세 - python requests (1)
한국거래소 전종목 시세 - python requests (1)
주가 데이터는 많은 곳에서 제공하고 있다. 각종 금융사, API 공급업자, 한국거래소 등 이 중 가장 공신력 있는 기관이자 원천인 한국거래소에서 운영중인 KRX 정보데이터시스템 에서 주가 데이터
progr-account.tistory.com
에서 이어지는 글입니다.
1. 필요한 모듈(Module) import
import requests
import json
import pandas as pd
1-1) requests
python에서 web에서 제공해주는 정보를 요청하고 받아오기 위한 모듈
1-2) json
requests에서 받아온 정보를 python 에서 활용할 수 있는 type으로 변형하기 위한 모듈
1-3) pandas
받아온 데이터를 정렬하고 쉽게 볼 수 있는 모듈
2. 함수 생성
def get_stock_Indices(date): ### date type : str(),,, ex) '2010722'
url = 'http://data.krx.co.kr/comm/bldAttendant/getJsonData.cmd'
data = {'bld': 'dbms/MDC/STAT/standard/MDCSTAT00101',
'idxIndMidclssCd': '01',
'trdDd': date, ### date type : str(),,, ex) '2010722'
'share': '2',
'money': '3',
'csvxls_isNo': 'false'}
response = requests.post(url, data=data) ### get이 아님에 유의
stock_data = response.json()['output'] ### 불러온 정보를 json으로 추출하면 dict()구조인데 원하는 정보는 key:'output'에 있다.
return stock_data
2-1) 인수 date
KRX 정보데이터시스템에서 전체지수 시세를 날짜별로 제공해 주시 때문에
함수의 변수를 날짜(date)로 지정해 준다.
2-2) url
한국거래소 전체지수 시세 - python requests (1)
위의 글에서 확인한 URL을 입력
2-3) data
형식(type)은 dict(딕셔너리)이다.
이또한 한국거래소 전체지수 시세 - python requests (1)에서 확인했던 Form Data를 입력해 준다.
2-4) requests.post(url, data=data)
- requests에서는 정보를 입력, 요청할 때 GET 으로 할지 POST로 할지 입력해 주어야 한다.
- 아래의 사진을 보면 한국거래소 전체지수 시세 - python requests (1) 에서 확인했던 Network 파일의 Headers에
POST 방식임을 확인할 수 있다.

- requests 모듈의 인수인 url 과 data를 알맞게 작성해준다. → requests.post(url, data=data)
2-5) json 형태 추출
불러온 정보를 json으로 추출하면 dict()구조인데 원하는 정보는 key:'output'에 있다.
2-6) return
우리가 원하는 정보를 담고있는 stock_data를 반환해주자.
짜잔~

하지만 이렇게는 보기가 어려우니 표로 만들어 준다.
stock_data = get_stock_Indices('20210722')
pd.DataFrame(stock_data)

이번 글은 여기서 마무리하며
다음 글에서
과거 기간 모든 날짜의 정보를 불러와서 저장하고 정렬하는 법을 서술해보도록 하겠습니다.
한국거래소 전체지수 시세 - python requests (3) 에서 계속
전체코드
import requests
import json
import pandas as pd
def get_stock_Indices(date): ### date type : str(),,, ex) '2010722'
url = 'http://data.krx.co.kr/comm/bldAttendant/getJsonData.cmd'
data = {'bld': 'dbms/MDC/STAT/standard/MDCSTAT00101',
'idxIndMidclssCd': '01',
'trdDd': date, ### date type : str(),,, ex) '2010722'
'share': '2',
'money': '3',
'csvxls_isNo': 'false'}
response = requests.post(url, data=data) ### get이 아님에 유의
stock_data = response.json()['output'] ### 불러온 정보를 json으로 추출하면 dict()구조인데 원하는 정보는 key:'output'에 있다.
return stock_data
stock_data = get_stock_Indices('20210722')
pd.DataFrame(stock_data)'주가예측' 카테고리의 다른 글
| KOSPI - 예탁금, 수입금액지수, 물가, 통화량, 금리, 환율 (0) | 2023.03.08 |
|---|---|
| VIX - NASDAQ상관관계 분석 (0) | 2023.03.07 |
| 한국거래소 전체지수 시세 - python requests (1) (12) | 2021.07.22 |
| 주가 예측 (0) | 2021.07.22 |