본문 바로가기
R 주제/크롤링

[R 크롤링] 12. 코스피, 코스닥, 코넥스 목록 따로 가져오기

by 만다린망고 2021. 4. 7.
반응형

지난 글에서 CSV를 다운로드 받고 네트워크 정보를 얻어오는 부분을 봅시다. 구분에 '전체'가 체크되어 있습니다. 

 

 

CSV 버튼을 클릭하면 우측에 파일 두개가 생성됩니다. 

 

generate.cmd 파일을 클릭해봅시다. mktId 에 ALL이 입력되어 있습니다. 크롤링에도 이 값을 사용했습니다. 

 

 

이번에는 KOSPI를 체크하고 같은 과정을 반복해봅시다. 이번에는 mktId가 STK로 바뀌었습니다. 

 

지난 크롤링 코드를 가져옵시다. 

 

library(httr)
library(rvest)
library(readr)

otp_url =
  'http://data.krx.co.kr/comm/fileDn/GenerateOTP/generate.cmd'
otp_form_data = list(
  mktId = 'ALL',
  share = '1',
  csvxls_isNo = 'false',
  name = 'fileDown',
  url = 'dbms/MDC/STAT/standard/MDCSTAT01901'
)

otp = POST(otp_url, query = otp_form_data) %>% read_html() %>% html_text()


csv_url = 'http://data.krx.co.kr/comm/fileDn/download_csv/download.cmd'
data = POST(csv_url, query = list(code = otp)) %>% 
  read_html(encoding = 'EUC-KR') %>% html_text() %>% read_csv() 

 

여기서 mktId 를 'STK' 로 바꿔주면 코스피 종목만 크롤링됩니다.

 

library(httr)
library(rvest)
library(readr)

otp_url =
  'http://data.krx.co.kr/comm/fileDn/GenerateOTP/generate.cmd'
otp_form_data = list(
  mktId = 'STK',
  share = '1',
  csvxls_isNo = 'false',
  name = 'fileDown',
  url = 'dbms/MDC/STAT/standard/MDCSTAT01901'
)

otp = POST(otp_url, query = otp_form_data) %>% read_html() %>% html_text()


csv_url = 'http://data.krx.co.kr/comm/fileDn/download_csv/download.cmd'
data = POST(csv_url, query = list(code = otp)) %>% 
  read_html(encoding = 'EUC-KR') %>% html_text() %>% read_csv() 

 

코스닥은 KSQ 코텍스는 KNX를 입력하면 됩니다. 

반응형

댓글