코딩 1도 모르는 코린이가 직접 따라하는, 주식 자동화 프로그램 도전기 - 주식 정보 크롤링 ①

2020년 10월 01일 by Coco___

    코딩 1도 모르는 코린이가 직접 따라하는, 주식 자동화 프로그램 도전기 - 주식 정보 크롤링 ① 목차
728x90
반응형

 

 

코딩을 전혀 모르는 나도, 

과연 주식 크롤링을 따라 만들 수 있을까?

 

코딩에 재능 없는 코린이가 직접 따라하는

프로그램 만들기 도전 1일차. 

 

주식 정보 크롤링하기. 

 

아래글을 이용해서, 따라해보자. 

 

https://blog.naver.com/wjdghdqo3/221906879245

 

[파이썬] 기업 정보 크롤링_1

이번에는 코스피나 코스닥에서 원하는 조건을 만족하는 기업들을 필터링 하기 위해, 상장된 모든 기업에 대...

blog.naver.com

 

STEP 1. 전자 Dart 시스템에서, 오픈키 API 받기

https://opendart.fss.or.kr/uss/umt/EgovMberInsertView.do

 

전자공시 OPENDART 시스템 | 인증키 신청

 

opendart.fss.or.kr

여기서 신청하면 된다. 

그냥 단순히 이메일 인증만 해도 되서 쉽게 할 수 있다. 

 

여기까진 쉽지쉽지. 

 

STEP 2. 파이참, 아나콘다 다운로드

 

아래 링크에서 아나콘다와 파이참을 다운받고 설치했다. 

 

https://www.anaconda.com/

 

Anaconda | The World's Most Popular Data Science Platform

Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.

www.anaconda.com

https://www.jetbrains.com/ko-kr/pycharm/?utm_source=naver&utm_medium=brandsearch&utm_campaign=KR-NAVER-BS-PC&utm_content=PyCharm_A

 

PyCharm: JetBrains가 만든 전문 개발자용 Python IDE

지능적인 코드 완성, 즉각적인 오류 검사, 빠른 수정 등 다양한 기능을 갖춘 Python 및 Django IDE입니다.

www.jetbrains.com

설치하는데 약간의 시간이 걸린다. 

 

이 두개를 설치하면 컴퓨터를 껐다가 켜주라는 메시지가 나온다

 

그럼 일단 컴터를 껐다가 키러 갔다오겠습니다~~

 


주의할 점 

아래처럼 File - Settings - Project 에 가서 Python interpreter 설정을 해주어야 

프로그램이 실행된다. 


 

이어서! 

STEP3 라이브러리 다운받기

ㅎㅎ,, 진짜 아무것도 모르는 코린이는

이걸 어디서 다운받아야하는지 엄청 헤맸다...

 

다른사람들에게는 너무 기본인듯하나

코린이는 이것도 어렵다 

여기서 제일 시간이 많이 걸린듯.... 

 

여튼, 라이브러리 다운은 정말 간단했는데!

파란 네모칸 위치에 보면 

Terminal 이란 영역이 보인다. 

 

이곳에 라이브러리 설치 명령어를 입력해주면 된다. 

 

pip install dart-fss

 

 

 

STEP 4 재무제표 다운 코드 복붙하기 

이제 파이참 창에다가 재무제표 다운 코드를 복붙하고 Run을 실행해주면 끝난다. 

 

import datetime
import dart_fss as dart

# Open DART API KEY 설정
api_key='9f294d8d600d276b48a078e0ce18a09f35b156f4'
dart.set_api_key(api_key=api_key)

# 현재 날짜 불러오기
now = datetime.datetime.now()
nowDate = now.strftime('%Y%m%d%H%M')
# 검색 시작 날짜
bgn_de = '20190101'
# 검색 종료 날짜
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']

# 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)

 

 

ㅎㅎㅎ생각보다 매우 간단한 작업!

 

EXCELL 결과물은 

아래와 같이 나와 데이터 정리가 필요하나, 

 

일단 1차 도전은 성공이다 

 

 

 

 

어려운 분들을 위한 동영상 첨부!

재무재표 크롤링_Trim.mp4
6.54MB

 

 

728x90
반응형