파이썬으로 KRX에서 전종목 기본 정보 얻어오기
이번 포스트에서는 코스피, 코스닥, 코넥스의 상장 종목들을의 기본 정보를 파이썬으로 획득하는 방법을 다룹니다. 한국거래소(KRX)에서 운영하는 기업공시채널 KIND라는 서비스가 있는데 여기서 정보를 얻어와 보겠습니다.
네이버 웨일이나 구글 크롬으로 접속하시길 추천드립니다.
상장법인 목록 다운받기
먼저 KIND에 접속합니다.
위 그림의 하단에 빨간 박스 표시한 상장법인상세정보
메뉴를 클릭합니다.
그럼 다음과 같은 화면이 나오는데 여기서 우측에 있는 상장법인목록
메뉴를 클릭합니다.
그럼 상장법인목록을 확인할 수 있는 페이지가 뜨는데 여기서 EXCEL 버튼을 누르면 전체 상장 법인 목록을 다운받을 수 있습니다.
상장법인 목록 파이썬으로 가져오기
이 파일을 파이썬으로 바로 다운 받을 수도 있습니다. 다양한 방법이 있겠지만 여기서는 pandas의 read_html 함수를 사용하겠습니다.
이제 개발자 도구를 열어봅니다. 웨일의 경우 다음과 같은 방법으로 개발자 도구를 열 수 있습니다.
- 우측 상단의
፧
버튼을 클릭하고기타 / 고급기능 / 개발자 도구
를 클릭 - Ctrl + Shift + I
- F12
그럼 다음과 같이 개발자 도구가 나타납니다. (브라우저 하단에 뜰 수도 있습니다.)
여기서 Network
탭으로 이동합니다. 이동한 다음 상장법인목록
페이지의 EXCEL
버튼을 클릭합니다.
그럼 개발자 도구의 Network
탭에 다음과 같이 요청 정보가 표시됩니다.
여기서 빨간색 박스로 표시한 Request URL
을 확인하고 아래로 쭉 내려서 Form Data
를 확인합니다.
이제 이 정보를 가지고 요청 코드를 작성합니다.
def get_stocks(market=None):
market_type = ''
if market == 'kospi':
market_type = '&marketType=stockMkt'
elif market == 'kosdaq':
market_type = '&marketType=kosdaqMkt'
elif market == 'konex':
market_type = '&marketType=konexMkt'
url = 'http://kind.krx.co.kr/corpgeneral/corpList.do?currentPageSize=5000&pageIndex=1&method=download&searchType=13{market_type}'.format(market_type=market_type)
list_df_stocks = pd.read_html(url, header=0, converters={'종목코드': lambda x: str(x)})
df_stocks = list_df_stocks[0]
return df_stocks
read_html
함수를 호출할 때 첫 번째 행을 헤더로 인식하도록 headers=0
을 넣어줬고 종목코드를 숫자로 인식하지 않도록 converters
인자를 주었습니다.
이렇게 코스피, 코스닥, 코넥스 전체 또는 시장 별로 종목 목록을 받아올 수 있습니다.
받아온 데이터에는 다음과 같이 회사명, 종목코드, 업종, 주요제품, 상장일, 결산월, 대표자명, 홈페이지, 지역 정보가 포함됩니다.
회사명 | 종목코드 | 업종 | 주요제품 | 상장일 | 결산월 | 대표자명 | 홈페이지 | 지역 |
---|---|---|---|---|---|---|---|---|
DSR | 155660 | 1차 비철금속 제조업 | 합섬섬유로프 | 2013-05-15 | 12월 | 홍석빈 | http://www.dsr.com | 부산광역시 |
GS글로벌 | 001250 | 상품 종합 도매업 | 수출입업(시멘트,철강금속,전기전자,섬유,기계화학),상품중개,광업,채석업/하수처리 서비스/부동산 임대 | 1976-06-26 | 12월 | 김태형 | http://www.gsgcorp.com | 서울특별시 |
HDC현대산업개발 | 294870 | 건물 건설업 | 외주주택, 자체공사, 일반건축, 토목 등 | 2018-06-12 | 12월 | 권순호, 정경구 | http://www.hdc-dvp.com | 서울특별시 |
KG케미칼 | 001390 | 기초 화학물질 제조업 | 콘크리트혼화제, 비료, 친환경농자재, 수처리제 | 1989-08-25 | 12월 | 곽정현, 김재익 | http://www.kgchem.co.kr | 울산광역시 |
LG이노텍 | 011070 | 전자부품 제조업 | 기타 전자부품 제조업 | 2008-07-24 | 12월 | 정철동 | http://www.lginnotek.co.kr | 서울특별시 |