krx 상장사정보 가져오기
https://kind.krx.co.kr/corpgeneral/corpList.do 을 크롤링하는 예제
pandas as pd
class Krx():
def __init__(self, parent=None):
super().__init__()
def updateCorp(self):
url = 'https://kind.krx.co.kr/corpgeneral/corpList.do' # 1
kosdaq = pd.read_html(url + "?method=download&marketType=kosdaqMkt")[0] # 2
kospi = pd.read_html(url + "?method=download&marketType=stockMkt")[0] # 3
kosdaq.종목코드 = kosdaq.종목코드.astype(str).apply(lambda x: x.zfill(6))
kospi.종목코드 = kospi.종목코드.astype(str).apply(lambda x: x.zfill(6))
kosdaq['market'] = 'KQ'
kospi['market'] = 'KS'
stocks = kospi.append(kosdaq) # kospi 뒤로 kosdaq dataframe을 합친다.
stocks.sort_values(by="상장일", ascending=False)
stocks = stocks.rename(
columns={
'회사명': 'comp_name',
'종목코드': 'code',
'업종': 'industry',
'주요제품': 'products',
'상장일': 'listed_at',
'결산월': 'sett_month',
'대표자명': 'ceo',
'홈페이지': 'url',
'지역': 'region'
})
stocks = stocks.where((pd.notnull(stocks)), None)
for row in stocks.itertuples():
# market, code, comp_name, industry, products, listed_at, sett_month, ceo, url, region
print(row[10], row[2], row[1], row[3], row[4], row[5], row[6], row[7], row[8], row[9])
if __name__ == "__main__":
krx = Krx()
krx.updateCorp() # 상장사 정보 업데이트
결과
....................
KQ 078940 코드네이처 전기 및 통신 공사업 전기공사업 2004-08-27 12월 김호일, 최동철(각자 대표) http://codenature.com 서울특별시
KQ 080530 코디 기타 화학제품 제조업 화장품제조,LCD A/S 2010-01-05 12월 김종원, 구자형 (각자 대표이사) http://www.kodi-s.com 경기도
KQ 123410 코리아에프티 자동차 신품 부품 제조업 캐니스터,플라스틱필러넥,의장부품 2010-08-27 12월 오원석, 김재산(각자 대표이사) http://www.kftec.com 경기도
....................