josw123 / dart-fss

한국 금융감독원에서 운영하는 다트(Dart) 시스템 크롤링을 위한 라이브러리
https://github.com/josw123/dart-fss
MIT License
319 stars 111 forks source link

extract_fs performance #125

Closed sooheon closed 1 year ago

sooheon commented 1 year ago

안녕하세요? 좋은 프로젝트 감사합니다.

예시대로 extract_fs 실행 시 report당 약 1분 소요되는것 같습니다.

이게 정상인지, 또는 옳지않은 호출로 인해 rate limiting이 된 것인지 궁금합니다.

josw123 commented 1 year ago

안녕하세요.

일단 extract_fs는 XBRL 파일이 존재하는 경우와 존재하지 않는 경우로 나누어 집니다.

만약 XBRL 파일이 존재한다면 XBRL 기반으로 데이터를 추출을 진행하게 되는데 이 경우 많은 CPU 리소스를 잡아 먹게 됩니다. 이로 인해 CPU 성능에 따른 추출시간이 달라 지게 됩니다.

만약 XBRL 파일이 존재하지 않는 경우 HTML 페이지 기반 추출이 진행하게 되는데 이 경우에는 대부분 호출 제한을 피하기 위해 delay가 삽입되어 있어 추출속도가 달라지게 됩니다. 너무 빠르게 추출을 진행하게 되는 경우 DART 홈페이지에서 하루동안 접근 제한을 하기 때문에 이를 피하기 위해서 약간의 delay가 설정되어 있습니다.

만약 추출시 별다른 에러코드를 반환하지 않는다면(warning 제외) 대부분 XBRL parsing 때문으로 생각됩니다. (XBRL 초기 추출시 XBRL과 연결된 기본적인 데이터를 web에서 가져오기 때문에 속도가 느린경향이 있습니다.)