josw123 / dart-fss

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

특정 분기 파싱 오류시 전체 실패 처리 #74

Closed dveamer closed 3 years ago

dveamer commented 3 years ago

먼저 멋진 프로그램 만들어주셔서 고맙습니다.

데이터 파싱 과정에서 에러가 발생하고 앞서 성공했던 파싱과정이 모두 실패하게 되어 약간의 불편함이 있습니다.
예를들어 10년치 데이터를 뽑는 과정에서 앞에 8년치를 정상적으로 파싱했어도 마지막 년도 데이터에 문제가 있으면 전체 과정이 실패하게 됩니다.

에러가 발생한 후에 조회조건을 8년치로 바꾸고 다시 돌린 후 성공하면 마지막 1년치를 다시 돌려야하는 상황이 발생합니다.

데이터를 올려둔 회사들이 만들어둔 예외처리 필요한 상황들을 모두 해결하면 좋겠지만 완벽한 처리는 쉽지 않을 것 같고 일단 특정 분기, 특정 년도에서 에러가 나게되면 해당 영역만 예외처리하고 그 다음 단계로 넘어가도록 처리 된다면 사용이 좀 더 용이할 것 같습니다.

josw123 commented 3 years ago

좋은 의견 감사합니다.

검토 후 문제가 없다면 다음 버전에 적용해 보도록하겠습니다.

josw123 commented 3 years ago

안녕하세요.

dart-fss 라이브러리에 크게 기여해주셔서 감사합니다.

기여해 주신 코드를 테스트를 진행해 보니 아래와 같이 4개의 테스트를 실패하였기 때문에

일단 Revert하였습니다.

===================================================================

Failed: Test failed: corp_code='01183407', corp_name='이십일스토어', fs_tp='bs', start_dt='20120101', report_tp='annual', date='20161231', column='label_ko',item='I.유동자산', actual='None', expected='5531436227'

Failed: Test failed: corp_code='00126186', corp_name='삼성에스디에스', fs_tp='bs', start_dt='20130813', report_tp='quarter', date='20130630', column='label_ko',item='유동자산', actual='None', expected='2602291807082'

Failed: Test failed: corp_code='00547583', corp_name='하나금융지주', fs_tp='bs', start_dt='20120101', report_tp='annual', date='20100101', column='label_ko',item='부채총계', actual='None', expected='139823866000000'

Failed: Test failed: corp_code='00123772', corp_name='부국증권', fs_tp='bs', start_dt='20200101', report_tp='annual', date='20201231', column='label_ko',item='부채및자본총계', actual='None', expected='1608864797228'

===================================================================

어디서 문제가 생겼는지는 한번 확인해 보도록 하겠습니다.

지속적으로 기여해주신점 감사합니다.

josw123 commented 3 years ago

확인해본 결과 특정 분기 파싱 오류와 관련된 코드에서는 문제가 없는 것으로 생각됩니다.

Revert 되었던 코드는 복구 시켰습니다.

a6acfca9431eb092274c059dcf27fc06d7543e9f (버그 수정 : 인카금융서비스(01013694), SG&G(00264714), 마이크로컨텍솔(00568188) #78) 에서 발생하는 문제이므로 본 이슈는 Close 하도록 하겠습니다.