EXCEL 다루기

[ 응용 ] 파워쿼리(PowerQuery)로 웹 데이터 크롤링하기 : 네이버 주식

카루루1007 2024. 10. 4. 13:00
728x90
반응형

엑셀에서 제공하는 파워쿼리를 사용하면 간단하게 웹 데이터를 가지고 올 수 있습니다.

이번 블로그에서는 URL 주소를 사용하여 

해당 페이지에 있는 표 데이터를 가지고 오는 

간단한 방법을 알아보겠습니다.

 

 준비하기

 

가지고 올 데이터는 네이버 증권의 주식정보입니다.

먼저 네이버 증권에 접속한 후

국내증시 시가총액을 누르면 아래 그림과 같은 페이지가 나타납니다.

 

현재 URL은 아래와 같이 나타납니다.

하지만 이 URL을 사용하면 데이터를 제대로 불러올 수 없습니다.

https://finance.naver.com/sise/sise_market_sum.naver

 

반응형

페이지를 제일 아래로 내려보시면 아래 그림과 같이 

페이지 선택이 가능한 번호가 보입니다.

 

먼저 여기서 2페이지를 선택해 주세요.

현재 페이지를 제외한 어느 페이지여도 상관은 없습니다.

저는 2페이지를 선택하였고 그 결과는 아래 그림과 같습니다.

 

이렇게 페이지를 직접 바꾸면서 중요하게 봐야 할 부분은

URL 주소값이 어떻게 바뀌는지입니다.

2페이지의 URL주소값은 아래와 같습니다.

https://finance.naver.com/sise/sise_market_sum.naver?&page=2

 

다시 1페이지로 넘어가면 URL이 다음과 같이 바뀝니다.

https://finance.naver.com/sise/sise_market_sum.naver?&page=1

 

이런 방식으로 페이지를 하나하나 넘기면 URL이 어떻게 바뀌는지 

확인할 수 있습니다.

아래는 1페이지부터 3페이지의 URL 주소입니다.

https://finance.naver.com/sise/sise_market_sum.naver?&page=1
https://finance.naver.com/sise/sise_market_sum.naver?&page=2
https://finance.naver.com/sise/sise_market_sum.naver?&page=3

 

다른 곳은 변하지 않고 맨 뒤의 숫자만 바뀐다는 것을 알 수 있습니다.

 

우선 이번 블로그에서는 1페이지의 정보 중 

아래 그림에서 빨간색 네모 부분의 정보를 가져오겠습니다.

웹 페이지에는 50개 종목의 정보가 나타나지만,

화면에 보이기에는 너무 많아 아래 그림과 같이 20여 개의 종목만 표시를 했습니다.

가져오는 정보는 화면에 보이는 모든 정보를 가지고 올 것입니다.

 

728x90

 엑셀 파워쿼리(PowerQuery)로 웹 페이지 정보 가져오기

 

먼저 1페이지의 URL 주소를 복사해 놓습니다.

https://finance.naver.com/sise/sise_market_sum.naver?&page=1

 

그다음 엑셀을 실행한 후

데이터 을 선택합니다.

버전마다 메뉴의 위치가 다를 수는 있습니다.

 

아래 그림과 같은 창이 나타나면 

복사했던 URL 주소를 붙여 넣고 확인을 누릅니다.

 

아래 그림과 같은 화면이 나타납니다.

여기서 코스피를 눌러보면 우측 화면에 우리가 원하는 정보가 출력되는 것을 확인할 수 있습니다.

 

이 상태에서 로드를 누르게 되면

엑셀 시트에 해당 데이터가 출력이 됩니다.

중간중간 비어있는 행이 있는 것은 네이버에서 제공하는 데이터가 눈에 보이지는 않지만

아래와 같은 형태로 되어있기 때문입니다.

 

데이터 변환을 누르게 되면 

파워쿼리(PowerQuery)가 실행되고 아래 그림과 같이 나타납니다.

 

여기서 데이터를 정제해 보겠습니다.

먼저 비어있는 열을 모두 삭제해 보겠습니다.

아래 그림과 같이

행 제거빈 행 제거를 누릅니다.

 

불러온 데이터에서 저에게 불필요한 데이터는 삭제하겠습니다.

PER, ROE, 토론실 행을 제거했습니다.

 

이제 닫기 및 로드닫기 및 로드를 눌러줍니다.

 

그러면 아래 그림과 같이

워크시트에 데이터를 불러올 수 있습니다.

 

 데이터 새로고침하기

 

이렇게 불러온 데이터는 새로고침만으로도 업데이트해 줄 수 있습니다.

화면 우측을 보시면 아래 그림과 같은 화면이 있습니다.

 

코스피라는 쿼리에 마우스 우클릭을 하시면 

메뉴가 나타나고

여기서 새로고침을 하게 되면

웹 페이지의 데이터가 변경되면 워크시트의 데이터도 자동으로 변경이 됩니다.

 

이 방법은 웹 페이지의 데이터를 불러오는 것이기 때문에

웹 페이지의 상황이나 개인의 인터넷 연결 상황 등에 따라 

오류가 발생할 수도 있습니다.

여기를 방문하시면 더 많은 엑셀 관련 자료를 확인할 수 있습니다.

엑셀 공부하기
VBA 공부하기

728x90
반응형