공시정보 검색
DART 공시 정보 검색
Open DART에서 제공하는 OPEN API를 이용하여 공시 정보를 검색하는 함수
search_report
- dart_fss.filings.search(corp_code: str | None = None, bgn_de: str | None = None, end_de: str | None = None, last_reprt_at: str = 'N', pblntf_ty: str | List[str] | None = None, pblntf_detail_ty: str | List[str] | None = None, corp_cls: str | None = None, sort: str = 'date', sort_mth: str = 'desc', page_no: int = 1, page_count: int = 10)[source]
공시보고서 검색
- Parameters:
- corp_code: str, optional
공시대상회사의 고유번호(8자리), 고유번호(corp_code)가 없는 경우 검색기간은 3개월로 제한
- bgn_de: str, optional
검색시작 접수일자(YYYYMMDD), 없으면 종료일(end_de)
- end_de: str, optional
검색종료 접수일자(YYYYMMDD), 없으면 당일
- last_reprt_at: str, optional
최종보고서만 검색여부(Y or N), default : N
- pblntf_ty: str, optional
공시유형 / Open DART 공시정보 -> 공시검색 -> 상세유형 참고
- pblntf_detail_ty: str, optional
공시상세유형 / Open DART 공시정보 -> 공시검색 -> 상세유형 참고
- corp_cls: str, optional
법인구분 : Y(유가), K(코스닥), N(코넥스), E(기타), 없으면 전체조회
- sort: str, optional
정렬, {접수일자: date, 회사명: crp, 고서명: rpt}
- sort_mth: str, optional
오름차순(asc), 내림차순(desc), default : desc
- page_no: int, optional
페이지 번호(1~n) default : 1
- page_count: int, optional
페이지당 건수(1~100) 기본값 : 10, default : 100
- Returns:
- SearchResults
검색결과
Note
Example
import dart_fss as dart
# 2019년 1월 1일부터 2019년 3월 31일까지 검색 (crp_cd 미지정시 최대 3개월만 검색가능)
reports = dart.filings.search(bgn_de='20190101', end_de='20190331')
# 2019년 1월 1일부터 2019년 3월 31일까지 검색 (페이지당 표시 건수: 100)
reports = dart.filings.search(bgn_de='20190101', end_de='20190331', page_count=100)
# 2019년 5월 1일부터 2019년 7월 1일까지 연간보고서만 검색
reports = dart.filings.search(bgn_de='20190501', end_de='20190701', pblntf_detail_ty='a001')
# 2019년 5월 1일부터 2019년 7월 1일까지 연간보고서 및 반기보고서 검색
reports = dart.filings.search(bgn_de='20190501', end_de='20190701', pblntf_detail_ty=['a001', 'a002'])
SearchResults
- class dart_fss.filings.search.SearchResults(resp)[source]
DART 검색결과 정보를 저장하는 클래스
- Attributes:
page_count
페이지당 표시할 리포트수
page_no
표시된 페이지 번호
report_list
list of Report: 검색된 리포트 리스트
total_count
int: 총 건수
total_page
int: 총 페이지수
Methods
pop
([index])주어진 index 의 리포트를 반환하며, 리스트에서 삭제하는 함수
to_dict
()dict 타입으로 반환
- property page_count
페이지당 표시할 리포트수
- property page_no
표시된 페이지 번호
- property report_list
list of Report: 검색된 리포트 리스트
- property total_count
int: 총 건수
- property total_page
int: 총 페이지수
Example
import dart_fss as dart
# 삼성전자 code
corp_code = '00126380'
# 모든 상장된 기업 리스트 불러오기
crp_list = get_corp_list()
# 삼성전자
samsung = corp_list.find_by_corp_name(corp_code=corp_code)
# 연간보고서 검색
# reports = samsung.search_filings(bgn_de='20100101', pblntf_detail_ty='a001')
reports = search_report(corp_code=corp_code, bgn_de='20100101', pblntf_detail_ty='a001')
# Reports의 Index는 0부터 시작
# 가장 최신 보고서 선택
newest_report = reports[0]
# 0-4번 보고서 선택
zero_to_fourth_report = reports[0:5]
# 짝수번째 보고서 선택
even_report = reports[::2]
# 가장 오래된 보고서 선택
oldest_report = reports[-1]