[키움API]파이썬 주식 종목별 종가정보 불러오기6: 데이터 수집시 주의사항
데이터 요청 횟수 제한
[키움API]파이썬 주식 종목별 종가정보 불러오기5: UI파일 화면구성(Qt Designer) 및 프로그램module과 CLASS구성 에서 완성한 프로그램으로 이제 데이터 수집만 하면 종목 추천을 위한 기본 DB를 구성할 수 있다. 하지만 무작정 아래 그림 1과 같이 종료 인덱스를 10000으로 놓고 기간별 종가 데이터 입수를 하면 안 된다. 키움에서 서버 과부하 방지를 위해서 몇 가지 제약을 걸어놓았기 때문이다.
제약사항은 아래 그림 2와 같이 KOA Studio의 하단 텝의 개발가이드 텝 -> 자주 묻는 질문 -> "키움OpenAPI 개발/구현 중입니다." 항목에 나와 있다. 대표적인 제약사항이 1초당 5회 횟수제한과 서버부하 방지 제한이다.
[키움API]파이썬 주식 종목별 종가정보 불러오기5: UI파일 화면구성(Qt Designer) 및 프로그램module과 CLASS구성 에서 UIhandle class의 timeseriesdataget 함수 내에 1초당 5회 횟수제한은 아래와 같이 API요청 시에 0.5초 정도 간격을 둠으로써 해결할 수 있다.
서버부하 방지 제한
서버부하 방지 제한은 API를 장시간 반복해서 사용할 경우 발생하는 오류로 코딩으로 해결하기 보다는 사용자가 요청 횟수에 제한을 둬야 하는 부분이다. 이 제약 사항도 KOA Studio의 하단 텝의 개발가이드 텝 -> 자주 묻는 질문 -> "키움OpenAPI 개발/구현 중입니다." 항목에 아래 그림 4와 같이 나와있다.
따라서 위 그림 1과 같이 종료 인덱스를 10000으로 놓고 무한으로 for 문을 돌리면 서버부하 방지 제한에 걸리기 때문에 인덱스를 200 개 정도로 제한해서 여러 번 요청을 하는 방법으로 아래 그림 5와 같이 데이터를 수집해야 한다.