728x90
공시검색 API는 기업들의 공시를 검색할 수 있는 기능을 제공해준다. 특정기업이든 아니면 일자별로 등 다양하게 공시를 조회해 볼 수 있으며 특정 유형의 보고서만 검색하는 것도 가능하다.
다양한 요청인자를 통해서 원하는 방식으로 공시를 검색하는 것이 가능하다. 이를 이용해 삼성전자 사업보고서를 검색해보자.
import json
import pandas as pd
import requests
def get_announcement(api_key, code, start_dt, end_dt, op):
fullUrl_ = 'https://opendart.fss.or.kr/api/list.json?crtfc_key=%s&corp_code=%s&' \
'bgn_de=%s&end_de=%s%s' % (api_key, code, start_dt, end_dt, op)
response = requests.get(fullUrl_, headers={'User-Agent': 'Mozilla/5.0'})
result = response.text
result = json.loads(result)
if result['status'] == '000':
total_page = result['total_page']
data = []
for p in range(1, int(total_page) + 1):
fullUrl = fullUrl_ + '&page_no=%s' % (p)
response = requests.get(fullUrl, headers={'User-Agent': 'Mozilla/5.0'})
result = response.text
result = json.loads(result)
data.append(pd.DataFrame(result['list']))
if len(data) == 0:
data = pd.DataFrame()
else:
data = pd.concat(data)
return data
if __name__ == '__main__':
api_key ='*'
code = '00126380'
start_dt = '20190101'
end_dt = '20200131'
op = '&pblntf_ty=A&pblntf_detail_ty=A001'
announcement = get_announcement(api_key, code, start_dt, end_dt, op)
print(announcement)
결과 값
corp_code corp_name stock_code corp_cls ... rcept_no flr_nm rcept_dt rm
0 00126380 삼성전자 005930 Y ... 20191114001273 삼성전자 20191114
1 00126380 삼성전자 005930 Y ... 20190814002218 삼성전자 20190814
2 00126380 삼성전자 005930 Y ... 20190515001605 삼성전자 20190515
3 00126380 삼성전자 005930 Y ... 20190401004781 삼성전자 20190401 연
728x90
'Data Science > Data Collection' 카테고리의 다른 글
[04. 금융감독원 API] 005. 사업보고서 주요정보 – 배당에 관한 사항 (0) | 2020.02.14 |
---|---|
[04. 금융감독원 API] 004. 사업보고서 주요정보 – 증자(감자) 현황 (0) | 2020.02.14 |
[04. 금융감독원 API] 002. 공시정보 – 기업개황 (0) | 2020.02.13 |
[04. 금융감독원 API] 001. 공시정보 – 고유번호 (0) | 2020.02.13 |
[03. API] 002. FinanceDataReader (0) | 2020.02.12 |