def __init__(self): db_url = URL(drivername="mysql+mysqldb", username=cf.db_id, password=cf.db_passwd, host=cf.db_ip, port=cf.db_port, database='daily_buy_list') self.db_engine = create_engine(db_url) # 자신의 Dart API 인증키 입력 dart.set_api_key(cf.dart_api_key) # DART 공시된 회사 리스트 반환 self.crp_list = dart.get_corp_list() # 모든 종목 코드 가져오기 self._get_stock_item_all()
def get_dart(): api_key = '35d444d5a2ca8c271de34c8d296baf7474c37035' dart.set_api_key(api_key=api_key) # 코스피 시총 상위 50개 기업 가져오기 kospi = pd.read_excel('./kospi top 50.xlsx') print(kospi['corp']) corps = kospi['corp'] # DART 에 공시된 회사 리스트 불러오기 corp_list = dart.get_corp_list() # corp_df = pd.DataFrame() con = sqlite3.connect("./kospi.db")
def get_finance_all(): import datetime import dart_fss as dart # Open DART API KEY 설정 api_key="956243c104077738ebc3c93bd62c3e0c019eb877" dart.set_api_key(api_key=api_key) # 현재 날짜 불러오기 now = datetime.datetime.now() nowDate = now.strftime('%Y%m%d%H%M') # 검색 시작 날짜 bgn_de = '20170101' # 검색 종료 날짜 end_de = now.strftime('%Y%m%d') # 모든 상장된 기업 리스트 불러오기 corp_list = dart.get_corp_list() # 원하는 기업이름 입력 corp_name = '만도' corp_code = corp_list.find_by_corp_name(corp_name=corp_name)[0] corp_code = corp_code._info['corp_code'] print(corp_code) corp_code = "01042775" print(corp_code) # 2019년 01월 01일에 올라온 연결재무제표부터 현재까지 검색 # 사업 보고서 # fs = dart.fs.extract(corp_code=corp_code, bgn_de=bgn_de, end_de=end_de, lang='ko', separator=False) # 반기 보고서 [report_tp='half'] # fs = dart.fs.extract(corp_code=corp_code, bgn_de=bgn_de, end_de=end_de, report_tp='half', lang='ko', separator=False) # 분기 보고서 [report_tp='quarter'] fs = dart.fs.extract(corp_code=corp_code, bgn_de=bgn_de, end_de=end_de, report_tp='quarter', lang='ko', separator=False) # 재무제표 일괄저장 (default: 실행폴더/fsdata/{corp_code}_{report_tp}.xlsx) filename = corp_name + '_' + nowDate + '.xlsx' # path = 'C:/Users/User/hb_jeong/Desktop/' fs.save(filename=filename)
import dart_fss as dart import pandas as pd from datetime import datetime, timedelta # Open DART API KEY 설정 api_key = '8a21428e7aff607d8bfb0963894c7a030650cf4e' dart.set_api_key(api_key=api_key) # DART 에 공시된 회사 리스트 불러오기 corp_list = dart.get_corp_list() # 검색 name = input("회사이름: ") corp_name = corp_list.find_by_corp_name(name, exactly=True)[0] corp_name = str(corp_name) corp_nums = None # 회사고유코드 담을 변수 for i in range(1, len(corp_name)): if corp_name[i] == "]": corp_nums = corp_name[1:i] break start = str(datetime.now() + timedelta( days=-365))[:10] # (-365, 즉 지금으로부터 1년전 공시자료부터 최신까지 검색을 위한 기간 설정) date_start = str(start).replace('-', '').replace(' ', '') titles = [] for i in range(1, 3): result = dart.filings.search( corp_code=corp_nums, bgn_de=str(date_start), last_reprt_at='N', pblntf_ty=None, pblntf_detail_ty=None,
import numpy as np import dart_fss as dart from dart_fss import get_corp_list import configparser as cp # 모든 상장된 기업 리스트 불러오기 cfg = cp.ConfigParser() cfg.read("./Config/config.ini") api_key = cfg._defaults['dart_fss_key'] dart.set_api_key(api_key=api_key) # 삼성전자 code corp_code = '00126380' # 모든 상장된 기업 리스트 불러오기 corp_list = get_corp_list() # 삼성전자 samsung = corp_list.find_by_corp_code('00126380') # 2012년 01월 01일 부터 연결재무제표 검색 # fs = samsung.extract_fs(bgn_de='20120101') 와 동일 fs = dart.fs.extract(corp_code=corp_code, bgn_de='20100101') # 연결재무상태표 df_fs = fs['bs'] # 또는 df = fs[0] 또는 df = fs.show('bs') # 연결재무상태표 추출에 사용된 Label 정보 labels_fs = fs.labels['bs'] # 연결손익계산서 df_is = fs['is'] # 또는 df = fs[1] 또는 df = fs.show('is')
# 모듈 불러오기 import dart_fss as dart api_key = '1d6d64597b62335da9ff581b734b17eda385ac39' # api key 변수 설정 dart.set_api_key(api_key=api_key) # 인증 설정 crp_list = dart.get_corp_list() # 상장회사 정보 리스트 받아오기 basic_info = crp_list.find_by_corp_name( '삼성전자', exactly=True)[0] # 삼성전자 종목코드를 파라미터로 넣어 삼성전자 기본 정보 가져오기 print(basic_info) fs = basic_info.extract_fs(bgn_de='20180101') print(fs) #the_statements = fs['fs'[0]] # 크롤링한 데이터 중 재무상태표(fs : financial statements)만 선택하여 변수 할당 fs_dict = fs.to_dict() print(fs_dict)
def load_dart(self): dart.set_api_key(self.api_key) self.crp_list = dart.get_corp_list()