프로그래밍/알고리즘 트레이딩

엑셀(EXCEL) - 네이버 금융 주식 현재가 가져오기

&+&& 2017. 4. 4. 18:30

  지난 번에 한국거래소 기업공시 채널을 통해서 상장법인 목록 및 종목 코드를 가져와서 구글 파이낸스를 통해 개별 종목에 대한 주가를 가져오는 작업을 했었는데요.(링크)  이번 글에서는 네이버 금융을 통해서 네이버 금융의 주식 현재가의 웹데이터를 가져오는 방법에 대해서 써보겠습니다. 가져오는 것 자체는 아주 간단한 프로세스인데, 엑셀만 사용해서 하려면 노가다를 좀 해줘야 합니다. 

  

  1.  데이터 연결 생성

 - 데이터 -> 외부 데이터 가져오기 -> 웹 선택

  웹에서 자료를 가져오기 위해서 메뉴에서 데이터를 선택하여 외부 데이터 가져오기 [ 웹 ] 항목을 선택합니다.

 

  2.  가져오기 설정

 - [ 새 웹 쿼리 ] 창에서 주소창에 [ finance.naver.com ](네이버 금융) 주소 입력

 - 국내증시 -> 코스피 -> 시가총액 선택

 - 코스피 종목별 현재가 테이블 좌측의 화살표를 클릭하여 녹색 체크로 선택

 - 하단 [ 가져오기 ] 선택

  기본적으로 가져올 수 있는 테이블 좌측 상단에는 [ 노란색 화살표 ]가 표시됩니다. 가져오고자 하는 테이블의 노란색 화살표를 클릭하여 [ 녹색 체크 ] 상태로 변경 후 가져오기를 선택합니다.

  3.  가져오기 세부 설정

 - 데이터 가져오기 창이 나타나면 [ 속성 ] 버튼 선택

 - 외부 데이터 범위 속성 창에서 [ 파일을 열 때 데이터 새로 고침 체크 ] 후 확인

  위 내용은 사실 그냥 확인만 해서 넘어가도 [ 모두 새로 고침 ]만 눌러주면 해결되긴 합니다. 하지만 현재가를 보기 위한 엑셀 파일이니 기왕이면 파일을 열 때 마다 데이터를 갱신하도록 설정합니다.

 

  4.  완료 화면 및 추가 페이지 작업

 - 완료 화면 확인, 현재 가져온 페이지는 1페이지입니다.

 - 추가 페이지 작업을 위해서는 새로운 시트 생성 후 1 ~ 3의 과정을 반복합니다. 반복 과정 중 페이지를 변경하여 가져옵니다.

 아까 1페이지를 작업할 때는 별도로 page를 표시하는 부분이 없었는데, 2페이지를 가져오도록 설정했더니 위와 같이 page 번호가 나타납니다. 전체 페이지정보를 가져오기 위해서는 각각의 시트마다 개별 웹페이지의 연결을 생성한다고 생각하고 작업하면 됩니다. 

 

  네이버 금융의 경우 다양한 정렬 옵션을 줄 수 있어서 좋긴한데, 전체 데이터를 위해서는 반복작업을 감수해야 합니다. 엑셀만 써도 뭔가 좀 더 좋은 방법이 있을 것 같기도 한데, 한 번 고민해 봐야겠네요.