본문 바로가기

API

[전자공시 Dart API] 임원 주요주주 소유보고 회사리스트 수집

반응형

전자공시 Dart API의 개발가이드 > 지분공시 종합정보 > 임원ㆍ주요주주 소유보고 데이터를 가져와 보겠습니다.

본인의  인증키(API Key)가 필요하니 필요하신분은 1번을 참조 부탁드립니다.

 

1. 가입 및 인증키 확인(Skip 가능)

2. 공시정보 공시검색에서 무상증자 회사 리스트확인(Skip 가능)

3. 임원ㆍ주요주주 소유보고 회사 알아보기

 

1. 가입 및 인증키 확인(Skip 가능)

https://yenpa.tistory.com/23

 

[전자공시 Dart API] 가입 및 인증키(API Key) 확인하기

1. 사이트 가입 2. 인증키(API Key) 확인하기 1. 사이트 가입 사이트에 접속합니다. https://opendart.fss.or.kr/ 시스템 점검으로 모든 서비스 이용이 일시적으로 중단되어니 양해 부탁드립니다. 시스템 점

yenpa.tistory.com

 

2. 공시정보 공시검색에서 무상증자 회사 리스트확인(Skip 가능)

https://yenpa.tistory.com/24

 

[전자공시 Dart API] 공시정보 공시검색에서 무상증자 회사 리스트확인

전자공시 Dart API의 개발가이드 > 공시정보 > 공시검색 데이터를 가져와 보겠습니다. 본인의 인증키(API Key)가 필요하니 필요하신분은 아래를 참고 부탁드립니다. 1. 가입 및 인증키 확인(Skip 가능)

yenpa.tistory.com

 

3. 임원ㆍ주요주주 소유보고 회사 알아보기

공시 리스트에서 대량보유 상황보고 정보를 가져오겠습니다.

위의 2번의 코드를 활용할 예정이니 필요하신분은 참조 부탁드립니다.

 

요청 URL은 json형식을 사용하겠습니다.

필수 요청 인자(Parameter)는 crtfc_key (본인의 API Key), corp_code(회사 고유번호) 입니다.

필수 요청인자로 대량보유 상황보고 데이터를 가져와 보겠습니다.

회사 고유번호는 삼성전자를 이용하겠습니다.

import requests
crtfc_key='YOUR_APIKEY'

corp_code='00126380'
url = 'https://opendart.fss.or.kr/api/elestock.json'
params = {
    'crtfc_key': crtfc_key,
    'corp_code' : corp_code,
}

requests.get(url, params=params).json()

정상적으로 데이터가 나오는것을 확인할 수 있습니다.

 

2022년 9월의 공시 리스트중 임원ㆍ주요주주로 검색된 결과를 보겠습니다.

import requests
import pandas as pd
from IPython.display import display
#crtfc_key='YOUR_APIKEY'

page_no=1
page_count=100
bgn_de='20220901'
end_de='20220930'

results_all=pd.DataFrame()
while(True):
    url = 'https://opendart.fss.or.kr/api/list.json'
    params = {
        'crtfc_key': crtfc_key,
        'page_no' : str(page_no),
        'page_count' : str(page_count),
        'bgn_de' : bgn_de,
        'end_de' : end_de,
    }
    
    #결과를 json형태로 저장
    results = requests.get(url, params=params).json()
    #결과중 실제 공시정보가 있는부분만 DataFrame으로 저장
    results_df = pd.DataFrame(results['list'])
    #하나의 DataFrame으로 만듬
    results_all = pd.concat([results_all,results_df])
    
    total_page=results['total_page']
    
    # total_page와 page_no이 같으면 while문 종료
    if page_no==total_page:
        break
    
    page_no=page_no+1
    
keyword='임원ㆍ주요주주'
result_elestock=results_all.loc[results_all['report_nm'].str.contains(keyword)]
print(result_elestock.shape)
result_elestock

결과가 609개가 나옵니다.

 

반응형

 

 

 

그래프로 상위 20개의 회사만 확인해보면

import matplotlib.pyplot as plt
from IPython.display import display
plt.rc('font', family='NanumGothic') 

result_elestock['corp_name'].value_counts().head(20).plot(kind='bar', 
        figsize=(8,4), title="임원 주요주주 소유보고 top20")

세방 전지가 18회로 가장 많네요. 

공시등록 수가 많은 세방전지의 상세정보입니다.

# 대량보유 상황보고 상세정보 확인
def majorstock(corp_code):
    
    url = 'https://opendart.fss.or.kr/api/elestock.json'
    params = {
        'crtfc_key': crtfc_key,
        'corp_code' : corp_code,
    }

    result=requests.get(url, params=params).json()
    df=pd.DataFrame(result['list'])
    
    return df

#세방전지 결과 확인
majorstock('00133858')

내용이 많이 있습니다.

 

column별 상세는 아래를 참조 부탁드립니다.

 

참고로 위의 DataTable의 rcept_no 의 번호를 아래의 URL에 넣어 크롬, 익스플로러 등의 주소에 넣고

이동하시면 웹에서의 상세확인도 가능합니다.

https://dart.fss.or.kr/dsaf001/main.do?rcpNo=rcept_no

ex) https://dart.fss.or.kr/dsaf001/main.do?rcpNo=20220914000341

 

 

이상으로 전자공시 Dart API의 개발가이드 > 지분공시 종합정보 > 임원ㆍ주요주주 소유보고 데이터를 확인해봤습니다.

 

반응형