본문 바로가기

Subjects/IT

구글독스(google docs)를 이용해 주식 실시간 데이터를 가져오기.

이번에는 국내 포털에서 제공하는 실시간 주식 시세 정보를 구글독스(Google Docs)를 이용해서 가져오는 방법을 알아보려고 합니다. 구글 파이낸스나 야후 파이낸스는 자체적으로 정보를 제공하는 API를 제공하지만, 한국 정보는 미흡한 점이 많은게 사실입니다. 그리고 프로그래밍으로 관련 데이터를 긁어 올 때 자주 활용할 수 있어 유용하지만, 데이터 자체가 지연 제공되기에 아쉬운 점이 있다고 할 수 있습니다.

마이크로 소프트의 엑셀이나 구글의 스프레드 시트에서는 웹상의 데이터를 가지고 올 수 있는 함수를 제공하고 있습니다. IMPORTHTML 을 사용하기도 하고 때로는 IMPORTDATA라는 함수를 사용하기도 합니다. 백문이 불여일견이죠 아래와 같이 이미지를 통해서 보시면 무슨 얘기인지 금방 체감하실 수 있을 것입니다.

아래 이미지는 다음의 금융 페이지를 캡쳐한 이미지 입니다. 코스피, 코스닥 전체 종목을 한 화면으로 조회할 수 있는 장점을 지니고 있죠. 네이버는 그렇지 않습니다 -_-;; 네이버는 한 화면에 조회되는 종목이 50개로 제한되어 있어서 전체 유가증권과 코스닥 종목 데이터를 가지고 오려면 약간의 노가다가 필요한 거라는 말이되죠.

포털 다음의 금융섹션의 주소는 "http://finance.daum.net/quote/all.daum?type=S&stype=P" 입니다.

이 주소를 웹 브라우저에 넣으면 아래 정보가 나온다는 말이죠.


그렇다면 이 주소를 어떻게 활용할지 알아보기 전에 구글독스(Google Docs)를 실행시켜봅니다. 물론 구글 아이디가 있어야 실행할 수 있습니다. 해당 주소는 "https://docs.google.com/" 입니다. 여기에서 스프레드 시트를 선택하면 MS의 엑셀과 같은 모양이 짜잔~하고 나타납니다.

아무런 정보도 담고 있지 않은 상태가 나타나는군요.

그럼 이제 위의 다음의 금융페이지를 위의 스프레드 시트에 가지고 와 보겠습니다. 아무 셀에서 아래와 같이 넣으면 Loading 이 되고 해당 정보가 나타나게 될 것입니다.

=IMPORTHTML("http://finance.daum.net/quote/all.daum?type=S&stype=P","table",2)

IMPORTHTML(  <-- 여기까지 넣으면 어떤 인자를 넣어야 하는지 친절하게 알려줍니다.

IMPORTHTML(url, query, index) 형태로 넣으라고 알려주네요.

위와 같이 셀에 해당 정보를 넣으면 아래와 같이 해당 데이터가 쭈~욱 들어오게 됩니다.

왼쪽은 코스피 종목의 종목명, 현재가, 등락률을 보여주며, 오른쪽은 코스닥 종목의 정보들을 나열하게 하였습니다.

그럼 이번에는 다음에 이어 네이버에서 해당 정보들을 긁어 오도록 하겠습니다. 아래는 네이버 금융 섹션입니다. 해당 주소는 "http://finance.naver.com/sise/sise_market_sum.nhn" 입니다.

다음과 마찬가지로 IMPORTHTML을 사용하여 데이터를 가지고 오면 아래와 같이 정렬이 됩니다. 다음과 달리 여기서는 한번에 50개의 종목만 나열됩니다. 즉, 전 종목의 데이터를 가지고 오려면 IMPORTHTML을 무지하게 많~~이 넣는 수고를 하셔야 합니다. 다만, 다음보다는 조금 더 다양한 정보가 들어오는 장점을 가지고 있습니다. 

인터넷에는 정말 많은 정보가 넘쳐나죠. 이를 보다 유익하게 잘 활용하시기 바랍니다. 그럼 이번 글은 여기까지 입니다.