안녕하세요, 주람쥐 입니다.
그러고 보니 파이썬으로 코스피, 코스닥 지수, 종목 데이터 크롤링 하는법도 올려야 할 것 같아,
새로운 카테고리를 하나 팠습니다. 바로 '매트랩파이썬' 카테고리입니다. 기대되죠??

오늘은 파이썬(Python)으로 코스피, 코스닥 지수 크롤링 하는 법 입니다.
(글 마지막에 코드요약 있습니다 ㅎㅎ)
저는 github에 공개되어 있는 pykrx라는 모듈을 이용하였고 파이썬에서 쉽게 주가를 크롤링 할 수 있었습니다.
>>>>>github 링크<<<<<
GitHub - sharebook-kr/pykrx: KRX 주식 정보 스크래핑
Github 페이지에서도 크롤링하는 방법이 자세하게 나와있어서, 링크보고 직접 코드 작성하셔도 좋고요.
저는 어떻게 pykrx를 활용해서 지수를 크롤링했는지 설명해드리도록 하겠습니다.

■ 코스피, 코스닥 주가지수 불러와서 엑셀에 저장하기
우선 파이썬 모듈 중 pykrx 라는 모듈을 불러옵니다.
import pykrx
from pykrx import stock
import pandas as pd
이렇게 모듈을 불러오고 나면, pykrx 안에 있는 함수를 사용할 준비가 된 것 입니다.
다음은 코스피 주가지수의 티커 list 를 tickers 변수에 불러옵니다.
tickers = stock.get_index_ticker_list()
print(tickers)
그러면 요렇게 지수의 티커들이 저장되죠.
코스닥 주가지수 티커는 다음과 같은 함수를 사용하면 됩니다. 'stock.get_index_ticker_list' 함수에 (market='KOSDAQ') 입력값을 추가하는 것이죠.
tickers_DAQ = stock.get_index_ticker_list(market='KOSDAQ')
print(tickers_DAQ)
tickers 에 불러온 티커들을 for문을 이용해서 2000년 ~ 2023년 동안의 지수 포인트를 excel 파일로 저장해보겠습니다.
for i in tickers:
df = stock.get_index_ohlcv("20000101", "20230606", i, "d")
df.to_excel(excel_writer= i+'.xlsx')
이 때 사용하는 함수는 stock.get_index_ohlcv 입니다. 아래 그림을 참고하세요.
위와 같이 데이터를 불러온 후 df 라는 dataframe 형 변수에 저장합니다.
그리고 df.to_excel 함수로 현재 경로에 엑셀파일을 저장하면 됩니다!
코스피 지수(tick: 1001)의 지수가 저장된 엑셀파일을 열어보면 다음과 같이 시가, 고가, 저가, 종가, 거래량, 거래대금 데이터까지 저장된 것을 볼 수 있습니다.
코스닥도 똑같이,
for i in tickers_Daq:
df = stock.get_index_ohlcv("20000101", "20230606", i, "d")
df.to_excel(excel_writer= i+'.xlsx')
이렇게 코드를 작성해주시면 됩니다.

코스피, 코스닥 주가지수의 이름도 불러와보겠습니다.
■ 코스피, 코스닥 주가지수 이름 불러오기
코스피 지수 이름 불러오는 방법입니다.
이름이 꼭 필요한건 아니지만, 내가 찾은 티커의 종목명이 궁금해질 때가 있으니까요.
tickerlist = [];
for ticker in stock.get_index_ticker_list():
tickerlist.append([ticker, stock.get_index_ticker_name(ticker)])
티커와 stock_index_ticker_name으로 이름을 불러와 줍니다. 그리고 tickerlist 라는 list 형 변수에 저장합니다.
그리고 excel로 저장하기 위해서 dataframe으로 변환시켜 줍니다.
tickerlist_df = pd.DataFrame(tickerlist)
print(tickerlist_df)
코스닥도 똑같이, 코드를 작성해서 print 해보면 각 틱의 종목명을 알 수 있습니다.
tickerlist = [];
for ticker in stock.get_index_ticker_list(market='KOSDAQ'):
tickerlist.append([ticker, stock.get_index_ticker_name(ticker)])
tickerlist_df = pd.DataFrame(tickerlist)
print(tickerlist_df)
오늘은 코스피, 코스닥 지수를 파이썬으로 크롤링하는 방법에 대해 알아보았습니다.
다음은 코스피, 코스닥에 상장되어 있는 실제 종목들의 주가를 크롤링해보도록 하겠습니다.

김사합니다!
+) 코드 요약입니다 ㅎㅎ
#%% 코스피
for i in tickers:
df = stock.get_index_ohlcv("20000101", "20230606", i, "d")
df.to_excel(excel_writer= i+'.xlsx')
#%% 코스피 종목명
tickerlist = [];
for ticker in stock.get_index_ticker_list():
tickerlist.append([ticker, stock.get_index_ticker_name(ticker)])
tickerlist_df = pd.DataFrame(tickerlist)
print(tickerlist_df)
#%% 코스닥
tickers_Daq = stock.get_index_ticker_list(market='KOSDAQ')
print(tickers_Daq)
#%%
for i in tickers_Daq:
df = stock.get_index_ohlcv("20000101", "20230606", i, "d")
df.to_excel(excel_writer= i+'.xlsx')
#%% 코스닥 종목명
tickerlist = [];
for ticker in stock.get_index_ticker_list(market='KOSDAQ'):
tickerlist.append([ticker, stock.get_index_ticker_name(ticker)])
tickerlist_df = pd.DataFrame(tickerlist)
print(tickerlist_df)
'매트랩파이썬' 카테고리의 다른 글
[파이썬] Pykrx로 개별종목 OHCLV 크롤링 후 엑셀로 저장 하는 법 (0) | 2023.07.09 |
---|