이번에는 python 을 이용한 웹스크래핑을 알아보겠습니다.
국내 주식 자동매매를 목표로 하므로 국내 주식 데이터를 가져오겠습니다.
일단 한국 거래소 기업공시 채널에서 상장 법인 목록을 가져오겠습니다.
2022-02-11 오후 4:31 기준 파일입니다.
파이썬으로 이 파일 정보를 읽어주려면
팬더스의 read_html() 내장 함수와 html5lib이 필요합니다.
팬더스 설치는 python 카테고리의 첫번째 글을 읽어보시길 바랍니다.
html5lib은 pip install html5lib을 cmd에 입력해주시면 됩니다.
윈도우 검색창에 '상장법인목록' 을 입력해줍니다.
여기서 파일 위치를 복사합니다.
이제 코드를 작성해보겠습니다.
cmd 창에서 아나콘다 가상환경을 켜고 파이썬을 실행해줘야합니다.
activate base
#아나콘다가 깔려있다면 기본으로 설정되는 가상환경 이름이 base 입니다.
#이름이 다르다면 그 이름을 activate 뒤에 입력해주면 됩니다.
#입력 후 엔터
python
#입력 후 엔터
여기서 >>> 이런 기호가 뜨면 이어서 코드를 작성해줍니다.
import pandas as pd
#저번 글에서 알아보았습니다. pandas 모듈을 pd로 별명 짓는거죠.
krx_list = pd.read_html('C:/Users/chohjender/Downloads/상장법인목록.xls')
#pd(pandas 모듈)내의 read_html() 함수를 이용합니다.
#경로 복사 후 붙여넣기하면 간혹가다가 이동경로 사이사이 \ 기호가 있을 수 있습니다.
#이럴때는 모두 /로 바꿔주셔야 오류가 발생하지 않습니다.
다음에 krx_list[0] 을 입력한 후 엔터를 누릅니다
>>> import pandas as pd
>>> krx_list[0]
회사명 종목코드 업종 ... 대표자명 홈페이지 지역
0 나래나노텍 137080 특수 목적용 기계 제조업 ... 정좌진 http://www.naraenano.co.kr 경기도
1 아셈스 136410 플라스틱제품 제조업 ... 장지상 http://assems.com 부산광역시
2 스코넥 276040 소프트웨어 개발 및 공급업 ... 황대실 http://www.skonec.com/ 서울특별시
3 이지트로닉스 377330 전동기, 발전기 및 전기 변환 · 공급 · 제어 장치 제조업 ... 강찬호 NaN 경기도
4 LG에너지솔루션 373220 일차전지 및 축전지 제조업 ... 권영수 NaN 서울특별시
... ... ... ... ... ... ... ...
2486 CJ대한통운 120 도로 화물 운송업 ... 강신호 http://www.cjlogistics.com 서울특별시
2487 메리츠화재 60 보험업 ... 김용범 http://www.meritzfire.com 서울특별시
2488 경방 50 종합 소매업 ... 김준, 김담 http://www.kyungbang.co.kr 서울특별시
2489 유수홀딩스 700 회사 본부 및 경영 컨설팅 서비스업 ... 송영규 http://www.eusu-holdings.com 서울특별시
2490 한진중공업홀딩스 3480 연료용 가스 제조 및 배관공급업 ... 조남호, 조원국 http://www.hhic-holdings.com 경기도
[2491 rows x 9 columns]
이런식으로 출력되면 정상적으로 작동된겁니다!
출력된 종목코드를 잘 보시면 001390 과 같은 종목코드가
1390 로 표시됩니다.
후에 종목코드를 이용하므로 원래 코드 그대로 받아오는것이 좋습니다.
이를 위한 코드를 작성해보겠습니다.
krx_list[0].종목코드 = krx_list[0].종목코드.map('{:06d}'.format)
그럼 정상적으로 데이터를 엑셀 파일에서 받아옵니다.
이렇게 파일로 받아오는 방법을 알아보았습니다.
하지만 이렇게 하면 사이트에 들어가 파일을 일일이 다운로드 한 후
파일의 위치를 복사해 코드를 작성해야하는 번거로움이 있습니다.
이를 해결하기 위해 사이트 자체에서 데이터를 뽑아오는 방법이 있습니다.
다음 글에서 알아보겠습니다.
찾아와주셔서 감사합니다~.
'코딩 공부 > python' 카테고리의 다른 글
제주맥주 종가 차트 파이썬으로 그려보기 (0) | 2022.02.16 |
---|---|
일별 시세 전체 페이지 가져오기, 파이썬 증권분석 코드 오류 업데이트 (0) | 2022.02.14 |
Pandas 를 이용한 주식 수익률 구하기 (2) | 2022.02.10 |
Pandas 공부 중 새로운 오류 경험 (0) | 2022.02.10 |
리퀘스트로 인터넷에서 이미지 파일 가져오기 (0) | 2022.02.09 |
댓글