API: 서버에 접근하는 '창구'와 같은 것 우리도 어디 업무를 볼 때 안에 있는 내용을 알지 못하지만 창구에서 대화를 통해 우리가 원하는 것을 제공받잖아요. 급하다고 막무가내로 다 창구로 가서 요청하면 복잡해져서 요구를 들어주기 힘들어서 번호표를 나눠줘서 차근차근 처리하잖아요. 키가 그것과 비슷해요. 요청이 너무 많아서 서버가 힘들지 않게 하기위해서 키를 발급하는 거라 보시면 될 것 같아요.
키를 발급하는 것은 따로 올리지는 않을께요.
dart의 정보를 사용하기 위해 dart-fss를 설치해줘야 해요
설치는 간단하게
# dart-fss 설치
!pip install dart-fss
이제 dart 라이브러리를 받아서 사용해보죠.
api_key라는 변수를 입력하고 거기에 자신의 dart 키를 입력해요.
발급 받은 키가 맞지 확인하기 위해 set_api_key로 확인
맞다면 이제 데이터를 받아 올 수 있게 됩니다.
# 확인
dart_fss.set_api_key(api_key=api_key)
회사 리스트를 받아서 출력하기 위해 get_corp_list()를 받아서
.corps로 출력하면 1차적인 준비가 끝나 거예요.
상장, 비상장 종목을 확인하기 위한 사람들은 ' stock_code'라는 열에 종목이 있으면 상장, 없으면 비상장 이예요.
(null은 알 수 없거나 or 없다는 의미로 이해하시면 편할 것 같네요)
그래서 있으면 상장이니 'null'이 들어가면 안되니 notnull을 붙여서 출력
비상장을 원하면 'isnull'로 null을 기준으로 구해보시면 간편해요.
# 상장 종목
df_list =df[df['stock_code'].notnull()]
df_list.count()
# 비상장 종목
df_list_not =df[df['stock_code'].isnull()]
df_list_not.count()
특정 기업만 알고 싶을 때는 조건을 제시하면 됩니다.
# 'corp_name'에서 특정 기업 이름 조건을 제시
corp_code = df_list.loc[(df['corp_name']== '카카오')].iloc[0,0]
# 기업 개황 조회
dart_fss.api.filings.get_corp_info(corp_code)
출력할 수 있는게 다양하다 보니 이건 dart 공식 홈페이지에서 요청하는 항목등을 확인해보시고 사용해보시는 걸 추천 드려요.
출력해 보시면 아시겠지만 위의 열 이름이 영어로 되어 있을 꺼예요.
이걸 알아보기 쉽게 한글로 바꿔볼께요.
.colums를 사용하면 원하는 열 이름으로 바꿀 수 있어요.
# 축출하고 싶은 데이터열 이름
df = df[['corp_name','nm','ofcps','mendng_totamt']]
# 바꿔서 출력하고 싶은 열이름
df.columns = ['기업명','이름','역할','보수']