josw123 / dart-fss

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

한국씨티은행(00161444) 분기 보고서 파싱 중 에러 발생 #77

Closed dveamer closed 2 years ago

dveamer commented 3 years ago

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

아래와 같은 상황을 발견했습니다.

Traceback (most recent call last):
  File "/tmp/test/fss.py", line 105, in execute
    fs = corp.extract_fs(bgn_de='20100101', separate=True, report_tp=['quarter'])
  File "/tmp/test/.env/lib/python3.9/site-packages/dart_fss/corp/corp.py", line 233, in extract_fs
    return extract(self.corp_code, bgn_de, end_de, fs_tp, separate, report_tp, lang, separator, dataset)
  File "/tmp/test/.env/lib/python3.9/site-packages/dart_fss/fs/extract.py", line 1325, in extract
    raise e
  File "/tmp/test/.env/lib/python3.9/site-packages/dart_fss/fs/extract.py", line 1286, in extract
    nstatements = analyze_report(report=report,
  File "/tmp/test/.env/lib/python3.9/site-packages/dart_fss/fs/extract.py", line 1160, in analyze_report
    fs_df = analyze_html(report, fs_tp=fs_tp, separate=separate, lang=lang)
  File "/tmp/test/.env/lib/python3.9/site-packages/dart_fss/fs/extract.py", line 577, in analyze_html
    extract_results = extract_fs_table(fs_table=fs_table, fs_tp=fs_tp, separate=separate, lang=lang)
  File "/tmp/test/.env/lib/python3.9/site-packages/dart_fss/fs/extract.py", line 480, in extract_fs_table
    columns = convert_thead_into_columns(fs_tp=tp, fs_table=table, separate=separate, lang=lang)
  File "/tmp/test/.env/lib/python3.9/site-packages/dart_fss/fs/extract.py", line 160, in convert_thead_into_columns
    date_info = extract_date_from_header(fs_table['header'])
  File "/tmp/test/.env/lib/python3.9/site-packages/dart_fss/fs/extract.py", line 121, in extract_date_from_header
    date.append(datetime(year, month, day))
ValueError: ('day is out of range for month', "An error occurred while fetching or analyzing {'rcp_no': '20180515001779', 'corp_code': '00161444', 'corp_name': '한국씨티은행', 'stock_code': '016830', 'corp_cls': 'E', 'report_nm': '분기보고서 (2018.03)', 'flr_nm': '한국씨티은행', 'rcept_dt': '20180515', 'rm': ''}.")
josw123 commented 2 years ago

안녕하세요,

올려주신 버그는 한국시티은행 분기보고서 작성시 아래와 같이 잘못된 날짜로 공시를 하였기 때문에 발생하는 문제입니다.

image

이 경우 warning 및 수정된 날짜로 출력되도록 수정하겠습니다(2월 31일 -> 2월 28일)