반응형

개요

이번 포스팅은 코스닥 종목의 주요 재무재표를 네이버에서 크롤링할 생각입니다. 누구나 진행할 수 있게 구글에서 제공하는 colab을 이용할 예정입니다.

 

주식을 하는 사람 대부분은 아래와 같은 기업실적분석표를 봤을겁니다. 네이버 검색창에 주식 종목을 검색 후 들어가게 되면 아래와 같은표를 볼 수 있습니다.

 

바로 이 주요재무정보를 크롤링 할 예정이며, 코스닥에 상장된 모든 종목의 재무정보를 가져올 예정입니다.

라이브러리

#전처리 라이브러리
from tqdm import tqdm_notebook
import pandas as pd

#크롤링 라이브러리
import requests

코스닥 종목명 및 종목코드 불러오기

대한민국 대표기업공기 사이트에서 코스닥 종목 및 코드를 불러옵니다. 약 1610개의 종목을 불러왔으며, 종목코드의 경우 int타입으로 불러와 종목코드가 4자리또는 5자리의 경우 앞의 0이 사라져 추가잡업을 통해 0을 붙였습니다.

url = 'https://kind.krx.co.kr/corpgeneral/corpList.do'

kosdaq_code = pd.read_html(url+"?method=download&marketType=kosdaqMkt")[0]
kosdaq_code = kosdaq_code[['회사명','종목코드']]

# 종목코드가 int 타입이라 앞의 0이 사라짐, 다시 붙여주는 코드
kosdaq_code['종목코드'] = kosdaq_code['종목코드'].astype('str')
kosdaq_code['종목코드'] = kosdaq_code['종목코드'].map(lambda x : '00'+x if len(x) ==4 else x)
kosdaq_code['종목코드'] = kosdaq_code['종목코드'].map(lambda x : '0'+x if len(x) ==5 else x)

 

네이버 재무재표 가져오기 불러오기

삼성전자의 주요 재무정보를 가져왔습니다. 앞서 불러온 1610개의 종목코드 for문을통해 재무정보를 가져올 수 있습니다.

# 삼성전자 종목코드
code = '005930'
url = f"https://finance.naver.com/item/main.nhn?code={code}"
# 데이터 얻기
res = requests.get(url)
# 재무정보 가져오기
df = pd.read_html(res.text)[3]

# 재무정보 인덱스 설정
df.set_index(df.columns[0],inplace=True)
df.index.rename('재무정보', inplace=True)

# 컬럼명 rename
df.columns = ['2019','2020','2021','2022E','2021.09','2021.12','2022.03','2022.06','2022.09','2022.12E']
df = df.reset_index()

삼성정자- 주요재무정보

반응형

+ Recent posts